如何读取/var/log/wtmp文件

琴乐音 2010-04-08 03:04:34
这个是二进制文件, 用java怎么读取它的内容呢?
...全文
723 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gkjolin 2011-08-09
  • 打赏
  • 举报
回复
man wtmp
steptodream 2010-04-08
  • 打赏
  • 举报
回复
可以去研究一下last命令的源码
ecsape 2010-04-08
  • 打赏
  • 举报
回复 1
个人认为,这个问题的关键不是怎么读取这个二进制文件,而是怎么把二进制文件里的数据怎么存成某个数据结构。
我比较懒,所以提供的是懒方法,自己研究/var/log/wtmp文件的数据结构太费劲了。
steptodream 2010-04-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cothly 的回复:]

我知道用命令可以访问, 用vi打开时乱码, 我现在需要用程序吧他读出来.
[/Quote]
楼上说的是一种方法
都告诉你是二进制文件了 你用某种语言读取二进制文件就可以了啊
http://m.tanggaowei.com/2008/05/08/69.html
ecsape 2010-04-08
  • 打赏
  • 举报
回复
详细点就是

public void run()
{
try
{
Process p = Runtime.getRuntime().exec(cmd.toString());
InputStream stdout = p.getInputStream();
InputStreamReader isr = new InputStreamReader(stdout);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ( (line = br.readLine()) != null)
{
System.out.println("===:: "+line);

}
p.waitFor();

} catch (Exception e)
{

}

ecsape 2010-04-08
  • 打赏
  • 举报
回复
用java的Runtime.getRuntime().exec(cmd.toString())执行last命令,然后获得输出
琴乐音 2010-04-08
  • 打赏
  • 举报
回复
我知道用命令可以访问, 用vi打开时乱码, 我现在需要用程序吧他读出来.
steptodream 2010-04-08
  • 打赏
  • 举报
回复

/var/log/wtmp也是一个二进制文件 记录每个用户的登录次数和持续时间等信息 可以last命令输出当中内容

23,117

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧