创建多个文件用java循环并存储在一个驱动器中,如何?

时间:2013-10-11 06:26:43

标签: java makefile

我的第一个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

2 个答案:

答案 0 :(得分:2)

你在java语法中有一些错误:

  1. 当您将方法声明为 void (此处为public static void main(....))时,表示该方法没有返回值 - 所以行"return file;“此处不需要。

  2. 使用错误的签名(File.createTempFile函数中的参数类型错误。 可能的用法是:

    • createTempFile(String prefix, String suffix)

    • createTempFile(String prefix, String suffix, File directory)

  3. 有关文件类的其他信息,请使用以下链接: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要么StringStringFileStringString,要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");

更容易管理......