现在,我有一个设置类路径,但我想弹出一个打开的文件,用户选择打开哪个文件.我已经尝试过JFileChooser,但到目前为止还没有成功.这是我的代码:
public static void main(String[] args) throws IOException {
JFileChooser chooser = new JFileChooser();
int returnValue = chooser.showOpenDialog( null ) ;
if( returnValue == JFileChooser.APPROVE_OPTION ) {
File file = chooser.getSelectedFile() ;
}
// I don't want this to be hard-coded:
String filePath = "/Users/Bill/Desktop/hello.txt";
Run Code Online (Sandbox Code Playgroud)
我应该怎么做呢?
我基本上想要忽略某些带有字符的行,比如是否有一行
// hello, i'm bill
Run Code Online (Sandbox Code Playgroud)
我想在阅读时忽略该行,因为它包含字符"//".我怎样才能做到这一点?我尝试了方法skip(),但它给了我错误.
public String[] OpenFile() throws IOException {
FileReader reader = new FileReader(path);
BufferedReader textReader = new BufferedReader(reader);
int numberOfLines = readLines();
String[] textData = new String[numberOfLines];
int i;
for (i=0; i<numberOfLines; i++) {
textData[i] = textReader.readLine();
}
// close the line-by-line reader and return the data
textReader.close();
return textData;
}
int readLines() throws IOException {
FileReader reader = new FileReader(path);
BufferedReader textReader = new BufferedReader(reader);
String line;
int numberOfLines = 0;
while ((line = textReader.readLine()) …Run Code Online (Sandbox Code Playgroud) 我正在使用像这样的toBinaryString翻译方法:
for (i=0; i<anyLines.length; i++) {
if (anyLines[i].startsWith("@")) {
anyLines[i] = anyLines[i].replace("@","");
anyLines[i] = Integer.toBinaryString((Integer.parseInt(anyLines[i])));
}
else {
continue;
}
Run Code Online (Sandbox Code Playgroud)
但是当我写一个文件时,二进制文件只有2位长,虽然我想要一个16位二进制文件,所有的零.例如,2被翻译为10,虽然我想要0000000000000010.我怎么能这样做?