我有两个类(class):main.java
和data.java
。编程需要首先从data.txt文件中读取数据。它适用于windows系统。但是现在我使用ssh链接linux服务器进行编译,但它不起作用。
我输入main.java
, data.java
, data.txt
在同一个文件夹中。运行后javac data.java && javac main.java
归纳6类:main.class
, data.class
以及 main.java
中定义的一些类。最后我跑java main
,或java main && java data
这一切都表明NullPointerException
。
data.txt
的链接在代码中我使用./data.txt
也许它们不能放在同一个文件夹中,或者其他一些原因。请帮助我。
提前谢谢您。
data.java
的部分代码:
import java.io.EOFException;
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
import java.util.StringTokenizer;
public class data{
private LineNumberReader in;
String filename;
public data(String file){
filename = file;
readProblem();
readdis();
read();
}
}
main.java
部分的代码
import java.util.*;
import java.io.*;
class main{
public static void main (String[] args) {
//Define parameters of the algorithm
String file = new String("./data.txt");
最佳答案
字符编码和不同的行结尾可能会起作用。
BufferedReader.readLine 将去除可能的行结尾。
字符集可以显式设置,例如“Windows-1252”、Windows Latin-1。用于该用途
BufferedReader in = new BufferedReader(new InputStreamReader(
new FileInputStream(file, "Windows-1252");
关于java - 如何在linux中编译几个java类和文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12396521/