如何使用NetBeans在Java程序中包含文本文件

时间:2011-07-23 03:31:29

标签: java netbeans file-io

我想在我的Java程序中包含一个test.txt文件,但我不知道如何在NetBeans中为Java应用程序包含一个文件。

这是我的代码:

package project;
import java.util.*;
import java.io.*;
import java.io.IOException;

public class Main {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException
    {
        new Main().run();
    }

    public void run()
    {
        System.out.println("Input String:\n");////
        Scanner keyboardScanner = new Scanner(System.in);/////
        String inString = keyboardScanner.nextLine();/////
        String shortMessage = shortifyMessage(inString);
        System.out.println(shortMessage);
    }

    public String shortifyMessage(String str)
    {
        String s = str;
        String tok1, tok2;
        try{
            FileInputStream fstream = new FileInputStream("textfile.txt");
            // Get the object of DataInputStream
            DataInputStream in = new DataInputStream(fstream);
            BufferedReader br = new BufferedReader(new InputStreamReader(in));
            String strLine;
            String file_name = "C:/textfile.txt";
            try {
                textfile file = new textfile(file_name);
                String[] aryLines = file.OpenFile();
                int i;
                for (i=0; i<aryLines.length; i++){
                    System.out.println(aryLines[i]);
                }
            }
            catch (IOException e) {
            System.err.format("File Does not exist\n");
            }
            //Read File Line By Line
            while ((strLine = br.readLine()) != null)   {
                // Print the content on the console
                StringTokenizer tokenizer=new StringTokenizer(strLine,"=");
                tok1=tokenizer.nextToken();
                tok2=tokenizer.nextToken();

                //System.out.println(tok1 + " = " + tok2);

                if(s.indexOf(tok1)>0)
                    s = s.replaceAll(tok1, tok2);
                //System.out.println (s);
            }
            //Close the input stream
            in.close();
        }catch (Exception e){//Catch exception if any
            System.err.println("Error: " + e.getMessage());
        }
        return s;
    }
}

当我运行此代码时,它会给出错误:

  

错误:textfile.txt(系统找不到指定的文件)

我不知道如何包含text.txt文件,以便我的代码可以读取文件的内容并执行适当的功能。

4 个答案:

答案 0 :(得分:1)

听起来你正试图在文本文件中读取并解析它。在这种情况下,您可以逐行读取文件:

File file = new File("test.txt");
Scanner in = new Scanner(file);
while (in.hasNextLine())
{
  String line = in.nextLine();
  System.out.println(line);
}

由于您正在使用NetBeans,它应该告诉您需要导入和尝试捕获的内容。

如果这是你的意思,对于许多程序员(特别是那些具有C ++背景的程序员)来说,“包含”通常意味着你想要从某个地方获取源代码并将其“包含”作为你的一部分程序。如果您正在尝试这样做,并且您的“test.txt”实际上是Java代码,则可以将其放在本地NetBeans项目源目录中并为其指定“.java”。

答案 1 :(得分:0)

到目前为止,您在Java中学习了多少文件IO?

您应该导入java.io.*;java.util.scanner;

然后为您要阅读的文件创建一个新的扫描仪:

Scanner reader = new Scanner(new File("test.txt"));

尝试从那里开始编写自己的代码以使用户成为扫描仪并读入文件。

答案 2 :(得分:0)

因为您的问题有点不清楚,或许您的意思是将此文件包含在项目工作区中?您可以在资源管理器中打开一个文件夹,然后将其拖放到NetBeans中的文件夹中。

否则,这些其他答案应为您提供适当的信息。

答案 3 :(得分:0)

您可以将文本文件拖放到文件夹中所需的特定Java包中,以便将文件包含在Netbeans中。