以下哪项是创建文件的最佳方式?

时间:2016-08-13 19:24:48

标签: java database data-structures

他们之间有什么区别?

如何以文本格式存储数据并在需要时检索数据?

在学习sql之前,如何以简单的方式存储数据?

 try{

     FileWriter fileWriter=new FileWriter("C:\\Users\\acer\\Downloads\\java     Q//somthing.txt");
     fileWriter.write("here is the first text");

     fileWriter.append(" \n the secound one ");
     fileWriter.close();

 } // try

 catch(IOException e){

     System.out.println(" an error occer ");


} // catch

或那样

WriteFile writeFile=new WriteFile(); // a class WriteFile the implements   Serilizable


 try{

 FileOutputStream fileOutputStream=new FileOutputStream("C:\\Users\\acer\\Downloads\\java Q//something.ser");

 ObjectOutputStream objectoutputs=new ObjectOutputStream(fileOutputStream);

 objectoutputs.writeObject(writeFile);

 objectoutputs.flush();

 objectoutputs.close();
 } // try

 catch(IOException e){

     System.out.println("an error occer");

} // catch

1 个答案:

答案 0 :(得分:0)

如果您可以将其写为文本,请使用它。这是最简单的工作方式。您可以在文本编辑器中查看和编辑它。

当你有一些不容易变成文本的对象时,你应该使用序列化(或者出于性能原因,尽管Java序列化很慢,所以它不是一个好的选择)

顺便说一句:我会避免

  • 在路径中同时使用\\/。只需使用其中一种。
  • 在目录名称中使用多个空格。这是令人困惑的恕我直言,除非你可以说为什么你正在使用那个空间。
  • 使用.write().append()但不能同时使用。
  • 使用try-with-resource关闭Closeable FileWriter。

e.g。

File file = new File("C:\\Users\\acer\\Downloads\\java Q\\something.txt");
try (PrintWriter pw = new PrintWriter(file)) {
   ps.println("here is the first text");
   ps.println("the second one ");
}