`

RandomAccessFile

阅读更多

public void run() {
		try {
			while (_running) {
				Thread.sleep(_updateInterval);
				long len = _file.length();
				if (len < _filePointer) {
					// Log must have been jibbled or deleted.
					this.appendMessage("Log file was reset. Restarting logging from start of file.");
					_filePointer = len;
				} else if (len > _filePointer) {
					// File must have had something added to it!
					RandomAccessFile raf = new RandomAccessFile(_file, "r");
					raf.seek(_filePointer);
					String line = null;
					while ((line = raf.readLine()) != null) {
						this.appendLine(line);
					}
					_filePointer = raf.getFilePointer();
					raf.close();
				}
			}
		} catch (Exception e) {
			this.appendMessage("Fatal error reading log file, log tailing has stopped.");
		}
		// dispose();
	}
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics