将Java txt文件保存到文件夹

时间:2012-01-29 23:56:21

标签: java file text save writefile

首先 - 我在Stackoverflow上爱你们!每个人都非常乐于助人!可悲的是,当我回答问题时,他们对我来说太过分了:'(

我想将文本文件保存到文件夹中 - 但不是绝对文件夹,例如我想将其保存到

  

{class location} /text/out.txt

因为程序正在不同的计算机上运行,​​所以位置会发生变化,所以我不能把C:// ect

我也知道我需要怀疑“\\” - 但这在我的尝试中不起作用

public void writeFile (int ID, int n) {
            try{
                    String Number = Integer.toString(n);
                    String CID = Integer.toString(ID);
          FileWriter fstream = new FileWriter("//folder//out.txt",true); //this don't work 
          BufferedWriter out = new BufferedWriter(fstream);
          out.write(Number+"\t"+CID);
          out.newLine();
          out.close();
          }//catch statements etc

4 个答案:

答案 0 :(得分:6)

你可以使用getAbsolutePath()函数:

 FileWriter fstream = new FileWriter(new File(".").getAbsolutePath()+"//folder//out.txt",true);

我建议你看看this主题

答案 1 :(得分:0)

在代码目录中创建名为text的文件夹是独立于文件系统的。要在{project folder}/text/out.txt中创建文件,您可以尝试以下操作:

String savePath = System.getProperty("user.dir") + System.getProperty("file.separator") + text;
File saveLocation = new File(savePath);
    if(!saveLocation.exists()){
         saveLocation.mkdir();
         File myFile = new File(savePath, "out.txt");
         PrintWriter textFileWriter = new PrintWriter(new FileWriter(myFile));
         textFileWriter.write("Hello Java");
         textFileWriter.close();
     }

别忘了赶上IOException

答案 2 :(得分:0)

将.txt保存到文件夹根目录的最简单方法是执行此操作:

public class MyClass 
{
public void yourMethod () throws IOException 
{

FileWriter fw = null;

try

{

 fw = new FileWriter ("yourTxtdocumentName.txt");

// whatever you want written into your .txt document

fw.write ("Something");
fw.write ("Something else");
System.out.println("Document completed.");
fw.close

}
catch (IOException e)
{
e.printStackTrace();
}

} // end code
} // end class

然后您可以随时调用此方法,它会将您编码的任何内容保存到.txt文档中,并保存到项目文件夹的根目录中。

然后,您可以在任何计算机上运行您的应用程序,它仍然会保存文档以便在任何计算机上查看。

答案 3 :(得分:-1)

您应首先创建目录,然后创建文件。记得首先检查它们的存在:

new File("some.file").exists();
new File("folder").mkdir(); // creates a directory
new File("folder" + File.separator + "out.txt"); // creates a file

如果资源已经存在,则无需创建File对象。

File.separator是您使用斜杠进行本地化问题的答案。