24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1522  |  回复: 12

liangbao

金虫 (小有名气)

老师

[交流] 【求助】java读取txt文件里的数据【已完结】已有5人参与

java读取txt文件里的float数据,数据用“\”隔开,想分别赋予x、y、z怎么办?自己写的程序读取的结果和文本内容不一致,头痛啊!高手指导一下吧,感激万分。

[ Last edited by nono2009 on 2010-11-11 at 07:22 ]
回复此楼
坚持正确的方向,总会找到想要的
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yanruoke

银虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
我也有类似的问题啊,顶一下
戒嗔怒以养肝气,省言语以养神气,多读书以养质气,顺时令以养元气,不拘节以养大气,观天变以养灵气,莫强求规于运气。
2楼2010-10-12 21:13:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ryhzd

木虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
这种涉及到具体格式的问题,而且连个代码也没有让人怎么回答啊
3楼2010-10-12 21:35:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liangbao

金虫 (小有名气)

老师

nono2009:编辑内容 2010-11-11 07:21
引用回帖:
Originally posted by ryhzd at 2010-10-12 21:35:33:
这种涉及到具体格式的问题,而且连个代码也没有让人怎么回答啊

谢谢您的关注,不好意思,
程序如下:
CODE:
import java.io.*;
public class random
{
public static void main(String args[])
  {
  try
   {
    File f1=new File("d:read.txt");     
    DataInputStream isr = new DataInputStream(new FileInputStream(f1), "UTF-8");
              float x[]=new x[];
              float y[]=new y[];
              float z[]=new z[];
             int i;
         do{
            for(i=0;i<=3;i++)
             {x=isr.readFloat();
              skip(1);
              y=isr.readFloat();
              skip(1);
              z=isr.readFloat();
              skip(1);}
            }while(isr.read!=null)         

   }catch(Exception e){System.out.println(e);}
  }
}

[ Last edited by nono2009 on 2010-11-11 at 07:21 ]
坚持正确的方向,总会找到想要的
4楼2010-10-13 09:24:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ryhzd

木虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
你的数据文件也贴一段上来看看
5楼2010-10-13 10:06:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ryhzd

木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
resonant(金币+2):感谢应助。 2010-10-14 12:14:05
初步判断,是你的数据文件中的数据长度不是 readFloat() 中要求的4 byte,应该是更长,建议用 http://muchong.com/bbs/viewthread.php?tid=2482532&fpage=1 中提到的方法
                             String tmp[] = br.readLine().split("\t";
                                tf = tmp[0].trim();
                                for(int t = 0; t < T; t++){
                                        H[t] = Double.parseDouble(tmp[t+1]);
即主要是用split() 分开数据,然后用 parseDouble() 将文本转为数值型。
我的解释到此为止,我也没学过用过java,仅是和c#类似,提些建议。
6楼2010-10-13 10:18:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liangbao

金虫 (小有名气)

老师

谢谢大家的帮助,问题已经解决了
坚持正确的方向,总会找到想要的
7楼2010-10-13 12:10:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liangbao

金虫 (小有名气)

老师

nono2009:建议通使用“引用回复该帖”,不然别人收不到你的回复提示。 2010-11-11 07:22:32
再问一下,Java中drawLine(10.8,20.6,6.1,20.3);提示不能画Float数,如果需要怎么办呢?
坚持正确的方向,总会找到想要的
8楼2010-10-13 12:13:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyj8119

木虫 (著名写手)

引用回帖:
Originally posted by liangbao at 2010-10-13 09:24:37:

谢谢您的关注,不好意思,
程序如下:
import java.io.*;
public class random
{
public static void main(String args[])
  {
  try
   {
    File f1=new File("d:read.txt";     
   ...

是用jbuilder吗?
好好学习,天天向上。
9楼2010-11-09 20:24:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liangbao

金虫 (小有名气)

老师

引用回帖:
Originally posted by zyj8119 at 2010-11-09 20:24:30:

是用jbuilder吗?

不是的
坚持正确的方向,总会找到想要的
10楼2010-11-11 11:00:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 liangbao 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见