试图在Tomcat服务器中使用java运行我的硒自动化代码。当我使用javac运行时,它运行良好,但是当它在Tomcat上作为jar运行时,它显示为“ com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V|
”作为日志。在这里,我的selenium-chrome驱动程序放置在本地计算机的桌面上,并且定义了路径(Tomcat也是本地服务器)
答案 0 :(得分:1)
我将使用这样的缓冲文件读取器:
public static void main(String[] args) throws IOException {
try {
File f = new File("data.txt");
BufferedReader b = new BufferedReader(new FileReader(f));
String readLine;
while ((readLine = b.readLine()) != null) {
if (readLine.contains("WORD"))
System.out.println("Found WORD in: " + readLine);
}
} catch (IOException e) {
e.printStackTrace();
}
}
其中“ WORD”是您要搜索的词。
BufferedReader
的优点在于,它可以进行预读以减少I / O往返次数-或将其放入JavaDoc中:“从字符输入流中读取文本,缓冲字符,以便有效读取字符,数组和行。”
FileChannel
是一个较新的发明,它是Java 1.4引入的NIO。它的性能可能比BufferedReader更好-但我也发现它在其API中的底层水平更高,因此,除非您有非常特殊的性能要求,否则我将readahead / buffering保留为BufferedReader
和{{1} }。
您还可以说FileReader
是“面向行的”,而BufferedReader
是“面向字节的”。
答案 1 :(得分:0)
我最喜欢Java.io中带有FileReader的BufferedReader:
它易于使用并且具有大多数功能。但是您的文件可能会基于字符进行使用(例如文本文件)