用Java写文件
我正在尝试编写一个简单的方法来将文档保存到文件中(覆盖该文件以前的任何内容)。不幸的是,我的实现似乎不起作用。我在我的文档中调用它,无论出于何种目的,它都是一个字符串数组。我要做的是写入数组的内容,数组中的每个值都有一行,第一行的[0]位置的值,第二行的[1]位置的值。我该怎么办 这是我迄今为止的实施情况:用Java写文件,java,file-io,Java,File Io,我正在尝试编写一个简单的方法来将文档保存到文件中(覆盖该文件以前的任何内容)。不幸的是,我的实现似乎不起作用。我在我的文档中调用它,无论出于何种目的,它都是一个字符串数组。我要做的是写入数组的内容,数组中的每个值都有一行,第一行的[0]位置的值,第二行的[1]位置的值。我该怎么办 这是我迄今为止的实施情况: public void save() { try { PrintWriter outputFile = new
public void save()
{
try
{
PrintWriter outputFile =
new PrintWriter(new BufferedWriter(new FileWriter(docName)));
int lineNo = 1;
while (lineNo != lineNo) // CHANGE THIS!!!
{ outputFile.println(" ~ ");
lineNo++;
}
outputFile.flush();
}
catch (Exception e)
{
System.out.println("Document: Touble writing to "+docName);
System.exit(1);
}
}如果
a
是字符串数组
for (String s : a)
outputFile.println(s);
将逐行将数组打印到
outputFile
数组的迭代器,并写入当前元素
String document[] = {"String1","String2","String3"};
PrintWriter outputFile =
new PrintWriter(new BufferedWriter(new FileWriter(docName)));
int lineNo = 1;
for(int i = 0; i < document.length; i++)
{ outputFile.println(document[i]);
lineNo++;
}
String文档[]={“String1”、“String2”、“String3”};
PrintWriter输出文件=
新的PrintWriter(新的BufferedWriter(新的FileWriter(docName)));
int lineNo=1;
for(int i=0;i
我可以这样写:
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
/**
* FileDemo
* @author Michael
* @since 2/26/11
*/
public class FileDemo
{
public static void main(String[] args)
{
try
{
FileDemo fd = new FileDemo();
fd.save("out/test.txt", args);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
public void save(String filePath, String [] lines) throws FileNotFoundException
{
PrintStream ps = null;
try
{
ps = new PrintStream(new FileOutputStream(filePath));
int lineNum = 1;
for (String line : lines)
{
ps.printf("%5d %s\n", lineNum++, line);
}
}
finally
{
close(ps);
}
}
public static void close(PrintStream ps)
{
if (ps != null)
{
ps.flush();
ps.close();
}
}
}
我在你的代码中没有看到任何实际内容,所以我添加了一些。我不知道有行号的文件是多么有趣。如果愿意,您可以修改它以使其有所不同。不会发生任何事情,也不会返回任何错误!这就是为什么我如此困惑的原因!:)因为它在循环--
intlineno=1时从不进入;while(lineNo!=lineNo)//始终为FALSE
这是调试器可以很快向您显示的内容。
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
/**
* FileDemo
* @author Michael
* @since 2/26/11
*/
public class FileDemo
{
public static void main(String[] args)
{
try
{
FileDemo fd = new FileDemo();
fd.save("out/test.txt", args);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
public void save(String filePath, String [] lines) throws FileNotFoundException
{
PrintStream ps = null;
try
{
ps = new PrintStream(new FileOutputStream(filePath));
int lineNum = 1;
for (String line : lines)
{
ps.printf("%5d %s\n", lineNum++, line);
}
}
finally
{
close(ps);
}
}
public static void close(PrintStream ps)
{
if (ps != null)
{
ps.flush();
ps.close();
}
}
}