/**
* 以二進位制讀出檔案內容
* @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技術分享,掃碼關注微信公眾號##
-
——只要你學會了之前所不會的東西,只要今天的你強過了昨天的你,那你就一直是在進階的路上了。