我的第一个java程序..
所以我正在尝试使用java
创建一个文件并存储在我的电脑中 import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
public class createfile {
public static void main(String[] args) throws IOException {
int[] numbers = {1,2,3};
for (int item : numbers) {
String key = "file" + item;
File file = File.createTempFile("c:\\",key,".txt");
Writer writer = new OutputStreamWriter(new FileOutputStream(file));
writer.write("abcdefghijklmnopqrstuvwxyz\n");
writer.write("01234567890112345678901234\n");
writer.write("!@#$%^&*()-=[]{};':',.<>/?\n");
writer.write("01234567890112345678901234\n");
writer.write("abcdefghijklmnopqrstuvwxyz\n");
writer.close();
}
return file;
}
}
我在这里想念的是什么......我没想到它。一切似乎都沿着这本书。
由于
=========== update ===========
之后
- return file ;
- throws IOException ;
- and change to File file = File.createTempFile(key,".txt",new File("c:\\"));
我仍然收到此错误
线程“main”中的异常java.lang.Error:未解决的编译问题: 未处理的异常类型IOException 未处理的异常类型FileNotFoundException 未处理的异常类型IOException 未处理的异常类型IOException 未处理的异常类型IOException 未处理的异常类型IOException 未处理的异常类型IOException 未处理的异常类型IOException
答案 0 :(得分:2)
你在java语法中有一些错误:
当您将方法声明为 void (此处为public static void main(....))时,表示该方法没有返回值 - 所以行"return file
;“此处不需要。
使用错误的签名(File.createTempFile
函数中的参数类型错误。
可能的用法是:
createTempFile(String prefix, String suffix)
createTempFile(String prefix, String suffix, File directory)
有关文件类的其他信息,请使用以下链接:http://docs.oracle.com/javase/6/docs/api/java/io/File.html
遵循可能的工作代码版本:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
public class createfile
{
public static void main(String[] args) throws IOException
{
int[] numbers = {1,2,3};
for (int item : numbers)
{
String key = "file" + item;
File file = File.createTempFile(key,".txt",new File("c:\\"));
Writer writer = new OutputStreamWriter(new FileOutputStream(file));
writer.write("abcdefghijklmnopqrstuvwxyz\n");
writer.write("01234567890112345678901234\n");
writer.write("!@#$%^&*()-=[]{};':',.<>/?\n");
writer.write("01234567890112345678901234\n");
writer.write("abcdefghijklmnopqrstuvwxyz\n");
writer.close();
}
}
}
您还可以看到另一个示例如何将文本写入文件:http://www.homeandlearn.co.uk/java/write_to_textfile.html。此链接使用NetBeans作为Java工具来编写代码。我强烈建议使用一些IDE(Eclipse,NetBeans)在java中编写代码。它会标记您的编译错误并建议更正。 NetBeans站点:https://netbeans.org/ 欢迎来到Java世界
答案 1 :(得分:1)
public static void main(String[] args) throws IOException {
没有返回任何内容,因此不需要return file
语句
File.createTempFile
要么String
,String
,File
或String
,String
,要File file = File.createTempFile("c:\\", key, ".txt");
赢了编译。
类似的事情,File file = File.createTempFile(key, ".txt", new File("c:\\"));
可能是一个更好的主意,但取决于你想要实现的目标。
JavaDocs表示前缀必须至少包含三个字符,因此您需要填充key
值以满足这些要求。
您可能会发现使用类似......
的内容File file = new File("C:\\" + key + ".txt");
更容易管理......