java - 如何在linux中编译几个java类和文本文件

标签 java linux

我有两个类(class):main.javadata.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/

相关文章:

linux - 将变量值注入(inject)占位符配置中

linux - 为什么 grep 给出搜索模式错误,即 grep : <some pattern>: No such file or directory

java - 更新顶点缓冲区后碰撞检测失败

Java:如何用另一个可绘制对象 overdraw ImageView 中的现有可绘制对象?

linux - 命令行参数有问题

linux - 从 unix shell 提示符中只选择需要的行

regex - Sed:仅当标记与第一个字符串匹配时才转换为 xml 标记

Java 图形不显示

java - tinyMCE 不仅替换了文本区域,还替换了整个表单

JavaFX WebViewer 在 Java 6 上?