所以我应该编写一个小程序来在文件中编写反转字母,但由于某种原因,编译器无法识别Files-Class的任何方法。
这是我的代码:
import java.io.*;
import java.nio.*;
import java.nio.channels.*;
import java.nio.file.*;
import static java.nio.file.StandardOpenOption.*;
class Exercise {
Path file = Paths.get("C:\\Users\\schuele\\Documents\\GitProjects\\3hit-Grual\\RandomAccess\\Alphabet.txt");
byte[] data;
ByteBuffer out;
if(Files.exists(file)){
}
}
奇怪的是,编译器可以找到类Files而不是它的方法。
编译时我收到此消息:
Error:(17, 4) java: illegal start of type
Error:(17, 19) java: <identifier> expected
Error:(17, 20) java: ';' expected
Error:(17, 21) java: illegal start of type
Error:(17, 22) java: <identifier> expected
Error:(17, 23) java: ';' expected
错误全部发生在第17行,即使用Files
类的行。
答案 0 :(得分:2)
你在方法之外编写if块。请添加方法或构造函数。
答案 1 :(得分:1)
您无法直接在class
'定义下放置此类代码。您需要将它放在方法,构造函数或匿名初始化块中。 E.g:
class Exercise {
public static void main(String[] args) { // Here!
Path file = Paths.get("C:\\Users\\schuele\\Documents\\GitProjects\\3hit-Grual\\RandomAccess\\Alphabet.txt");
byte[] data;
ByteBuffer out;
if (Files.exists(file)) {
}
}
}
答案 2 :(得分:0)
你不能这样写if()
,你有两个选择:
public void myMethod(){ if(Files.exists(file)){ } }
public class myClass{ { if(Files.exists(file)){ } } //or like this : static { if(Files.exists(file)){ } } }