急急。谁快来告诉我啊,我找了这个类的源码,放在项目里,运行出现这个错误 Exception in thread "main" java.lang.Error: Unresolved compilation problem: at PooledWeblog.main(PooledWeblog.java:60)
PooledWeblog.java:60 60行是啥内容? 异常信息不全,贴全
public class SafeBufferedReader extends BufferedReader { public SafeBufferedReader(Reader in) { this(in, 1024); } public SafeBufferedReader(Reader in, int bufferSize) { super(in, bufferSize); } private boolean lookingForLineFeed = false;
public String readLine() throws IOException { StringBuffer sb = new StringBuffer(""); while (true) { int c = this.read(); if (c == -1) { // end of stream if (sb.length() == 0) return null; return sb.toString(); } else if (c == '\n') { if (lookingForLineFeed) { lookingForLineFeed = false; continue; } else { return sb.toString(); } } else if (c == '\r') { lookingForLineFeed = true; return sb.toString(); } else { lookingForLineFeed = false; sb.append((char) c); } } }}就是这个 放在源码里面自己用把 不要用javaio了 那个包好像是有问题
Exception in thread "main" java.lang.Error: Unresolved compilation problem: at PooledWeblog.main(PooledWeblog.java:60)
60行是啥内容?
异常信息不全,贴全
this(in, 1024);
} public SafeBufferedReader(Reader in, int bufferSize) {
super(in, bufferSize);
} private boolean lookingForLineFeed = false;
public String readLine() throws IOException {
StringBuffer sb = new StringBuffer("");
while (true) {
int c = this.read();
if (c == -1) { // end of stream
if (sb.length() == 0) return null;
return sb.toString();
}
else if (c == '\n') {
if (lookingForLineFeed) {
lookingForLineFeed = false;
continue;
}
else {
return sb.toString();
}
}
else if (c == '\r') {
lookingForLineFeed = true;
return sb.toString();
}
else {
lookingForLineFeed = false;
sb.append((char) c);
}
}
}}就是这个 放在源码里面自己用把 不要用javaio了 那个包好像是有问题
这是我的代码
//PooledWeblog.java
import java.io.*;
import java.util.*;
import com.macfaq.io.SafeBufferedReader;
public class PooledWeblog {
private BufferedReader in;//输入流
private BufferedWriter out;//输出流
private int numberOfThreads;//记录线程的数量
private List entries = Collections.synchronizedList(new LinkedList( ));
private boolean finished = false;//标志是否结束
private int test = 0;
public PooledWeblog(InputStream in, OutputStream out, int numberOfThreads) {
this.in = new BufferedReader(new InputStreamReader(in));
this.out = new BufferedWriter(new OutputStreamWriter(out));
this.numberOfThreads = numberOfThreads;
}
public boolean isFinished( ) {
//当结束时返回
return this.finished;
}
public int getNumberOfThreads( ) {
return numberOfThreads;//返回线程的个数
}
public void processLogFile( ) {
for (int i = 0; i < numberOfThreads; i++) {
//去创建新的线程
Thread t = new LookupThread(entries, this);
t.start( );//启动线程
}
try {
String entry = null;
while ((entry = in.readLine( )) != null) {
if (entries.size( ) > numberOfThreads) {
try {
Thread.sleep((long) (1000.0/numberOfThreads));//停止线程一段时间
}
catch (InterruptedException e) {}
continue;
}
synchronized (entries) {
entries.add(0, entry);
entries.notifyAll( );
}
Thread.yield( );
} // 循环终止
}
catch (IOException e) {
System.out.println("Exception: " + e);//输出错误信息
}
this.finished = true;
// 结束那些仍然等待的线程
synchronized (entries) {
entries.notifyAll( );
}
}
//记录错误信息
public void log(String entry) throws IOException {
out.write(entry + System.getProperty("line.separator", "\r\n"));
out.flush( );
}
public static void main(String[] args) {
try {
PooledWeblog tw = new PooledWeblog(new FileInputStream(args[0]),
System.out, 100);
tw.processLogFile( );
}
catch (FileNotFoundException e) {
System.err.println("Usage: java PooledWeblog logfile_name");
}
catch (ArrayIndexOutOfBoundsException e) {
System.err.println("Usage: java PooledWeblog logfile_name");
}
catch (Exception e) {
System.err.println(e);
e.printStackTrace( );
}
}
}
//LookupThread.java
import java.net.*;
import java.io.*;
import java.util.*;
public class LookupThread extends Thread {
private List entries;
PooledWeblog log; //在回调的时候使用
//检索线程是否在列表中
public LookupThread(List entries, PooledWeblog log) {
this.entries = entries;
this.log = log;
}
//启动线程的函数
public void run( ) {
String entry;
while (true) {
synchronized (entries) {
while (entries.size( ) == 0) {
if (log.isFinished( )) return;
try {
entries.wait( );
}
catch (InterruptedException e) {
}
}
entry = (String) entries.remove(entries.size( )-1);
}
int index = entry.indexOf(' ', 0);
//获得远程主机地址
String remoteHost = entry.substring(0, index);
String theRest = entry.substring(index, entry.length( ));
try {
//获得远程主机的地址
remoteHost =InetAddress.getByName(remoteHost).getHostName( );
}
catch (Exception e) {
}
try {
log.log(remoteHost + theRest);
}
catch (IOException e) {
}
this.yield( );
}
}
}
//Weblog.java
import java.net.*;
import java.io.*;
import java.util.*;
import com.macfaq.io.SafeBufferedReader;
public class Weblog {
public static void main(String[] args) {
Date start = new Date( );//得到起始日期
try {
//使用FileInputStream 类来装饰输入流
FileInputStream fin = new FileInputStream(args[0]);
Reader in = new InputStreamReader(fin);//获得Read类型输入流
SafeBufferedReader bin = new SafeBufferedReader(in);
String entry = null;
while ((entry = bin.readLine( )) != null) {
// 分离出IP地址
int index = entry.indexOf(' ', 0);
String ip = entry.substring(0, index);//得到IP地址
String theRest = entry.substring(index, entry.length( ));
// 找到主机名字,并打印出来
try {
InetAddress address = InetAddress.getByName(ip);//通过IP地址获得此地址
System.out.println(address.getHostName( ) + theRest);
}
catch (UnknownHostException e) {
System.out.println(entry);
}
} // 循环终止
}
catch (IOException e) {
System.out.println("Exception: " + e);
}
Date end = new Date( );//得到新日期
long elapsedTime = (end.getTime()-start.getTime( ))/1000;
System.out.println("Elapsed time: " + elapsedTime + " seconds");
} // main终止
}
----------------------------------------------------
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
SafeBufferedReader cannot be resolved to a type
SafeBufferedReader cannot be resolved to a type at Weblog.main(Weblog.java:12)
这是我的代码
//PooledWeblog.java
import java.io.*;
import java.util.*;
import com.macfaq.io.SafeBufferedReader;
public class PooledWeblog {
private BufferedReader in;//输入流
private BufferedWriter out;//输出流
private int numberOfThreads;//记录线程的数量
private List entries = Collections.synchronizedList(new LinkedList( ));
private boolean finished = false;//标志是否结束
private int test = 0;
public PooledWeblog(InputStream in, OutputStream out, int numberOfThreads) {
this.in = new BufferedReader(new InputStreamReader(in));
this.out = new BufferedWriter(new OutputStreamWriter(out));
this.numberOfThreads = numberOfThreads;
}
public boolean isFinished( ) {
//当结束时返回
return this.finished;
}
public int getNumberOfThreads( ) {
return numberOfThreads;//返回线程的个数
}
public void processLogFile( ) {
for (int i = 0; i < numberOfThreads; i++) {
//去创建新的线程
Thread t = new LookupThread(entries, this);
t.start( );//启动线程
}
try {
String entry = null;
while ((entry = in.readLine( )) != null) {
if (entries.size( ) > numberOfThreads) {
try {
Thread.sleep((long) (1000.0/numberOfThreads));//停止线程一段时间
}
catch (InterruptedException e) {}
continue;
}
synchronized (entries) {
entries.add(0, entry);
entries.notifyAll( );
}
Thread.yield( );
} // 循环终止
}
catch (IOException e) {
System.out.println("Exception: " + e);//输出错误信息
}
this.finished = true;
// 结束那些仍然等待的线程
synchronized (entries) {
entries.notifyAll( );
}
}
//记录错误信息
public void log(String entry) throws IOException {
out.write(entry + System.getProperty("line.separator", "\r\n"));
out.flush( );
}
public static void main(String[] args) {
try {
PooledWeblog tw = new PooledWeblog(new FileInputStream(args[0]),
System.out, 100);
tw.processLogFile( );
}
catch (FileNotFoundException e) {
System.err.println("Usage: java PooledWeblog logfile_name");
}
catch (ArrayIndexOutOfBoundsException e) {
System.err.println("Usage: java PooledWeblog logfile_name");
}
catch (Exception e) {
System.err.println(e);
e.printStackTrace( );
}
}
}
//LookupThread.java
import java.net.*;
import java.io.*;
import java.util.*;
public class LookupThread extends Thread {
private List entries;
PooledWeblog log; //在回调的时候使用
//检索线程是否在列表中
public LookupThread(List entries, PooledWeblog log) {
this.entries = entries;
this.log = log;
}
//启动线程的函数
public void run( ) {
String entry;
while (true) {
synchronized (entries) {
while (entries.size( ) == 0) {
if (log.isFinished( )) return;
try {
entries.wait( );
}
catch (InterruptedException e) {
}
}
entry = (String) entries.remove(entries.size( )-1);
}
int index = entry.indexOf(' ', 0);
//获得远程主机地址
String remoteHost = entry.substring(0, index);
String theRest = entry.substring(index, entry.length( ));
try {
//获得远程主机的地址
remoteHost =InetAddress.getByName(remoteHost).getHostName( );
}
catch (Exception e) {
}
try {
log.log(remoteHost + theRest);
}
catch (IOException e) {
}
this.yield( );
}
}
}
//Weblog.java
import java.net.*;
import java.io.*;
import java.util.*;
import com.macfaq.io.SafeBufferedReader;
public class Weblog {
public static void main(String[] args) {
Date start = new Date( );//得到起始日期
try {
//使用FileInputStream 类来装饰输入流
FileInputStream fin = new FileInputStream(args[0]);
Reader in = new InputStreamReader(fin);//获得Read类型输入流
SafeBufferedReader bin = new SafeBufferedReader(in);
String entry = null;
while ((entry = bin.readLine( )) != null) {
// 分离出IP地址
int index = entry.indexOf(' ', 0);
String ip = entry.substring(0, index);//得到IP地址
String theRest = entry.substring(index, entry.length( ));
// 找到主机名字,并打印出来
try {
InetAddress address = InetAddress.getByName(ip);//通过IP地址获得此地址
System.out.println(address.getHostName( ) + theRest);
}
catch (UnknownHostException e) {
System.out.println(entry);
}
} // 循环终止
}
catch (IOException e) {
System.out.println("Exception: " + e);
}
Date end = new Date( );//得到新日期
long elapsedTime = (end.getTime()-start.getTime( ))/1000;
System.out.println("Elapsed time: " + elapsedTime + " seconds");
} // main终止
}
----------------------------------------------------
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
SafeBufferedReader cannot be resolved to a type
SafeBufferedReader cannot be resolved to a type at Weblog.main(Weblog.java:12)
这句去掉嘛~~
Exception in thread "main" java.lang.Error: Unresolved compilation problem: at PooledWeblog.main(PooledWeblog.java:60)