- java.lang.Object
-
- jdk.jfr.consumer.RecordingFile
-
- 实现的所有接口
-
Closeable
,AutoCloseable
public final class RecordingFile extends Object implements Closeable
录音文件。以下示例显示如何读取和打印录制文件中的所有事件。
try (RecordingFile recordingFile = new RecordingFile(Paths.get("recording.jfr"))) { while (recordingFile.hasMoreEvents()) { RecordedEvent event = recordingFile.readEvent(); System.out.println(event); } }
- 从以下版本开始:
- 9
-
-
构造方法摘要
构造方法 构造器 描述 RecordingFile(Path file)
创建录制文件。
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 void
close()
关闭此录制文件并释放与其关联的所有系统资源。boolean
hasMoreEvents()
返回true
如果记录文件中有未读的事件,false
否则。static List<RecordedEvent>
readAllEvents(Path path)
返回文件中所有事件的列表。RecordedEvent
readEvent()
读取录音中的下一个事件。List<EventType>
readEventTypes()
返回此录制中所有事件类型的列表。
-
-
-
构造方法详细信息
-
RecordingFile
public RecordingFile(Path file) throws IOException
创建录制文件。- 参数
-
file
- 要打开的文件的路径,而不是null
- 异常
-
IOException
- 如果它不是有效的录制文件,或者发生I / O错误 -
NoSuchFileException
- 如果file
-
SecurityException
- 如果存在安全管理器且其checkRead
方法拒绝对该文件的读访问权。
-
-
方法详细信息
-
readEvent
public RecordedEvent readEvent() throws IOException
读取录音中的下一个事件。- 结果
-
下一个事件,而不是
null
- 异常
-
EOFException
- 如果录制文件中不存在其他事件 -
IOException
- 如果发生I / O错误。 - 另请参见:
-
hasMoreEvents()
-
hasMoreEvents
public boolean hasMoreEvents()
返回true
如果记录文件中有未读的事件,false
否则。- 结果
-
true
如果录制中存在未读事件,false
。
-
readEventTypes
public List<EventType> readEventTypes() throws IOException
返回此录制中所有事件类型的列表。- 结果
-
事件类型列表,而不是
null
- 异常
-
IOException
- 如果从文件读取时发生I / O错误 - 另请参见:
-
hasMoreEvents()
-
close
public void close() throws IOException
关闭此录制文件并释放与其关联的所有系统资源。- Specified by:
-
close
在界面AutoCloseable
- Specified by:
-
close
在界面Closeable
- 异常
-
IOException
- 如果发生I / O错误
-
readAllEvents
public static List<RecordedEvent> readAllEvents(Path path) throws IOException
返回文件中所有事件的列表。此方法适用于在单个操作中方便读取所有事件的简单情况。 它不适用于读取大文件。
- 参数
-
path
- 文件的路径,而不是null
- 结果
-
来自文件的事件为
List
对象; 是否可修改List
是否依赖于实现,因此未指定,不是null
- 异常
-
IOException
- 如果发生I / O错误,则不是Flight Recorder文件或无法解析的JFR文件版本 -
SecurityException
- 如果存在安全管理器且其checkRead
方法拒绝对该文件的读访问权。
-
-