/** * 以二进制读出文件内容 * @param file * @return * @throws IOException */ private static byte[] readFileBytes(File file) throws IOException { byte[] arrayOfByte = new byte[1024]; ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); FileInputStream fis = new FileInputStream(file); while (true) { int i = fis.read(arrayOfByte); if (i != -1) { localByteArrayOutputStream.write(arrayOfByte, 0, i); } else { return localByteArrayOutputStream.toByteArray(); } } }复制代码
下面是我从两个不同的Java文件中得到的代码。 一个是"文件"与主类,另一个是"filewrite"。"
我可以实现字符串输入和输出。 但输出文件在开头有乱码,我不确定为什么。
[File.Java ]package file;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class File{ public static void main(String[] args) { try(BufferedReader br =new BufferedReader(newFileReader("B:fileIn.txt"))) { String stCurrent; while((stCurrent = br.readLine())!=null) { System.out.println(stCurrent); } }catch(IOException e) { e.printStackTrace(); } FileWrite fW =newFileWrite(); fW.serializeAddress("Boston","Canada"); }}复制代码
[FileWrite.Java ]package file;import java.io.FileOutputStream;import java.io.ObjectOutputStream;import java.io.Serializable;public class FileWrite{ public void serializeAddress(String city,String country) { try { FileOutputStream fout =new FileOutputStream("B:address.txt"); ObjectOutputStream obOut =new ObjectOutputStream(fout); obOut.writeUTF(city); obOut.writeUTF(country); obOut.close(); System.out.println("Output Done"); }catch(Exception ex) { ex.printStackTrace(); } }}复制代码
使用了obOut.writeUTF(country);" 那么久对应的使用obOut.writeUTF(city, counry) 中。
PrintStream ps =new PrintStream(newFileWriter("B:addressPS.txt")); ps.println(city); ps.println(country); ps.close();复制代码
#### YunSoul技术分享,扫码关注微信公众号##
- ——只要你学会了之前所不会的东西,只要今天的你强过了昨天的你,那你就一直是在进阶的路上了。