DNA图谱 / 问答 / 问答详情

java 读取大文件时怎么样才能加快速度?

2023-07-15 13:45:30
共1条回复
Mugen-Hive

下面是API文档上摘下来的:

java.io类RandomAccessFile

java.lang.Object

02java.io.RandomAccessFile

所有已实现的接口:

Closeable, DataInput, DataOutput

--------------------------------------------------------------------------------

public class RandomAccessFileextends Objectimplements DataOutput, DataInput, Closeable此类的实例支持对随机存取文件的读取和写入。随机存取文件的行为类似存储在文件系统中的一个大型字节数组。存在指向该隐含数组的光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。如果随机存取文件以读取/写入模式创建,则输出操作也可用;输出操作从文件指针开始写入字节,并随着对字节的写入而前移此文件指针。写入隐含数组的当前末尾之后的输出操作导致该数组扩展。该文件指针可以通过 getFilePointer 方法读取,并通过 seek 方法设置。

通常,如果此类中的所有读取例程在读取所需数量的字节之前已到达文件末尾,则抛出 EOFException(是一种 IOException)。如果由于某些原因无法读取任何字节,而不是在读取所需数量的字节之前已到达文件末尾,则抛出 IOException,而不是 EOFException。需要特别指出的是,如果流已被关闭,则可能抛出 IOException。从以下版本开始:JDK1.0

相关推荐

java中catch(EOFException e){ try{ in.close();}什么意思?

一般是这样写的try{ }catch(){ },try里面放的是执行代码,如果在执行的时候出现问题,由catch进行捕获,捕获后可以分两种情况处理,一种是执行catch里的语句,可以自己写,也可以调用现成的,另一种是不作任何处理,直接抛出。问题中的try应该是在catch中执行的,.close()是调用的方法,应该是关闭什么,而如果抛出EOFException异常,则表明程序已经在正常运行结束了,e只是一个普通的参数,所以我想这句话应该是如果程序运行结束,则关闭什么。
2023-07-15 13:17:054

反序列化过程怎么引发了 java.io.EOFException异常

EOFException End of File异常。通常是读取反序列化的本地文件中的内容出现异常。当文件读完以后没有跳出循环,还在继续读,就容易引发此异常。
2023-07-15 13:17:111

java程序运行时,出现EOFException异常,但是为什么我捕获后编译器报错??

顺序错了。写成catch (EOFException e) { }catch(FileNotFoundException exc){ }catch( IOException ex){ }就可以了。
2023-07-15 13:17:181

java.io.EOFException at java.io.DataInputStream.readInt(Unknown Source)

这个是io流错误,运用的输入流,这个错误显示readInt(Unknown Source),所以你首先要建立输出流,输出到一个文本,然后从文本里面读取,因为是DataInputStream所以你是看不到文本里面的东西的,只有读取可以。问题是:没有输出,无法读取到数据。
2023-07-15 13:17:251

IOException while loading persisted sessions: java.io.EOFException java.io.EOFException

这个是tomcat的问题,是因为保存在硬盘上的session数据读取失败找到安装路径,删除catalina/localhost中的*.ser就可以解决如果不可以,就先将localhost中的文件移出,然后在放进去,运行就可以了
2023-07-15 13:17:335

java.io.EOFException异常怎么解决

就是读一个文件,读到最后没有了但你还继续读,就会给你个EOF,表示End Of File那就读的时候判断一下文件长度,到头了就不读了就完事儿了
2023-07-15 13:17:483

下述代码为何会抛出java.io.EOFException异常,哪位高手指点一下,怎样消除异常?

//要调整文件读写指针的位置到文件的开始//已为你改好import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;public class RandomAccessFileDemo9 {public static void main(String[] args) throws IOException {RandomAccessFile raf = new RandomAccessFile("b.txt","rw");raf.writeDouble(1.00);raf.seek(0);double d = raf.readDouble();System.out.println(d);raf.close();}}
2023-07-15 13:17:551

org.eclipse.jetty.io.EofException: null,客户端主动断开连接解决方案

办法1.客户端提高超时期限2.服务端优化处理速度,赶在客户端超时断开之前返回数据
2023-07-15 13:18:021

java中什么情况下会发生io异常

比如文件不存在、读取的文件流、网络流字符有问题都会导致
2023-07-15 13:18:123

socket抛出java.io.eofexception为什么不堵塞

在网上查的资料说是因为流数据已经读完,就会抛出EOFException,是正常情况
2023-07-15 13:18:181

Java java.io.EOFException错误求找错

把EOFException改成IOException试试看
2023-07-15 13:18:362

ObjectInputStream报java.io.EOFException异常

ObjectInputStream 只能读由ObjectOutStream写的文件哦,goods_name.txt 里面是一般的文本内容吗?是的话用BufferedInputStream就可以了
2023-07-15 13:18:432

java中dis.readutf报错java.io.EOFException

样例一,if中读到文件末尾最后一行时,if条件为真,运行里面的语句,此时,已经读写完了文件,再调用readUTF()所以会报错。样例二中判断每次读到的值,当读到结束标识时,if条件为假,结束。
2023-07-15 13:18:533

java中常见的几种异常

1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话) 2. java.lang.classnotfoundexception 这个异常是很多原本在jb等开发环境中开发的程序员,把jb下的程序包放在wtk下编译经常出现的问题,异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可,如果是在jb下做的程序包,一般都是默认加上package的,所以转到wtk下后要注意把package的路径加上。 3. java.lang.arithmeticexception 这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,大家就要好好检查一下自己程序中涉及到数学运算的地方,公式是不是有不妥了。 4. java.lang.arrayindexoutofboundsexception 这个异常相信很多朋友也经常遇到过,异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。 5. java.lang.illegalargumentexception 这个异常的解释是"方法的参数错误",很多j2me的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数如果写成负数就会出现这个异常,再比如g.setcolor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。 6. java.lang.illegalaccessexception 这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了package的情况下要注意这个异常。 其他还有很多异常,我就不一一列举了,我要说明的是,一个合格的程序员,需要对程序中常见的问题有相当的了解和相应的解决办法,否则仅仅停留在写程序而不会改程序的话,会极大影响到自己的开发的。关于异常的全部说明,在api里都可以查阅。算术异常类:ArithmeticExecption空指针异常类:NullPointerException类型强制转换异常:ClassCastException数组负下标异常:NegativeArrayException数组下标越界异常:ArrayIndexOutOfBoundsException违背安全原则异常:SecturityException文件已结束异常:EOFException文件未找到异常:FileNotFoundException字符串转换为数字异常:NumberFormatException操作数据库异常:SQLException输入输出异常:IOException方法未找到异常:NoSuchMethodExceptionjava.lang.AbstractMethodError抽象方法错误。当应用试图调用抽象方法时抛出。java.lang.AssertionError断言错。用来指示一个断言失败的情况。java.lang.ClassCircularityError类循环依赖错误。在初始化一个类时,若检测到类之间循环依赖则抛出该异常。java.lang.ClassFormatError类格式错误。当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有效格式时抛出。java.lang.Error错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。java.lang.ExceptionInInitializerError初始化程序错误。当执行一个类的静态初始化程序的过程中,发生了异常时抛出。静态初始化程序是指直接包含于类中的static语句段。java.lang.IllegalAccessError违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。java.lang.IncompatibleClassChangeError不兼容的类变化错误。当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的情况下,容易引发该错误。java.lang.InstantiationError实例化错误。当一个应用试图通过Java的new操作符构造一个抽象类或者接口时抛出该异常.java.lang.InternalError内部错误。用于指示Java虚拟机发生了内部错误。java.lang.LinkageError链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的情况。java.lang.NoClassDefFoundError未找到类定义错误。当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。java.lang.NoSuchFieldError域不存在错误。当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该错误。java.lang.NoSuchMethodError方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。java.lang.OutOfMemoryError内存不足错误。当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误。java.lang.StackOverflowError堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。java.lang.ThreadDeath线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。java.lang.UnknownError未知错误。用于指示Java虚拟机发生了未知严重错误的情况。java.lang.UnsatisfiedLinkError未满足的链接错误。当Java虚拟机未找到某个类的声明为native方法的本机语言定义时抛出。java.lang.UnsupportedClassVersionError不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。java.lang.VerifyError验证错误。当验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出该错误。java.lang.VirtualMachineError虚拟机错误。用于指示虚拟机被破坏或者继续执行操作所需的资源不足的情况。java.lang.ArithmeticException算术条件异常。譬如:整数除零等。java.lang.ArrayIndexOutOfBoundsException数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。java.lang.ArrayStoreException数组存储异常。当向数组中存放非数组声明类型对象时抛出。java.lang.ClassCastException类造型异常。假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制类型转换异常。java.lang.ClassNotFoundException找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。java.lang.CloneNotSupportedException不支持克隆异常。当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常。java.lang.EnumConstantNotPresentException枚举常量不存在异常。当应用试图通过名称和枚举类型访问一个枚举对象,但该枚举对象并不包含常量时,抛出该异常。java.lang.Exception根异常。用以描述应用程序希望捕获的情况。java.lang.IllegalAccessException违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。java.lang.IllegalMonitorStateException违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。java.lang.IllegalStateException违法的状态异常。当在Java环境和应用尚未处于某个方法的合法调用状态,而调用了该方法时,抛出该异常。java.lang.IllegalThreadStateException违法的线程状态异常。当县城尚未处于某个方法的合法调用状态,而调用了该方法时,抛出异常。java.lang.IndexOutOfBoundsException索引越界异常。当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。java.lang.InstantiationException实例化异常。当试图通过newInstance()方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。java.lang.InterruptedException被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。java.lang.NegativeArraySizeException数组大小为负值异常。当使用负数大小值创建数组时抛出该异常。java.lang.NoSuchFieldException属性不存在异常。当访问某个类的不存在的属性时抛出该异常。java.lang.NoSuchMethodException方法不存在异常。当访问某个类的不存在的方法时抛出该异常。java.lang.NullPointerException空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。java.lang.NumberFormatException数字格式异常。当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。java.lang.RuntimeException运行时异常。是所有Java虚拟机正常操作期间可以被抛出的异常的父类。java.lang.SecurityException安全异常。由安全管理器抛出,用于指示违反安全情况的异常。java.lang.StringIndexOutOfBoundsException字符串索引越界异常。当使用索引值访问某个字符串中的字符,而该索引值小于0或大于等于序列大小时,抛出该异常。java.lang.TypeNotPresentException类型不存在异常。当应用试图
2023-07-15 13:19:0412

java中的System.in如何理解,请高手指教一下,System的意思,in的意思,in是对象吗,System是类吗?

System是类没错,in是一个标准输入流对象,如从键盘输入的内容。System.in的意思就是在system类中有一个类变量变量名称是in,而这个in就是刚才说到的是一个标准输入流对象
2023-07-15 13:19:4710

ZipFile 解压文件时抛出异常 java.io.EOFException

实例化就报错,如果引用的开源包版本都没问题的话,那就是你的zip文件有问题,先确认你的zip文件是他所需要的。
2023-07-15 13:20:111

java.net.MalformedURLException: unknown protocol: c

这个错误很明显呀,java.net.MalformedURLException: unknown protocol: c这个错一般有两种原因导致:1、URL协议、格式或者路径错误, 好好检查下你程序中的代码如果是路径问题,最好不要包含中文路径,因为有时中文路径会乱码,导致无法识别2、jar问题:用jdom解析xml文件,如果应用路径里有gnujaxp.jar包的话,jdom就会 调用它去解析xml文件,导致上述异常的出现。如果是这个问题,解决方法:在应用路径里去掉对gnujaxp.jar包的引用。在我的工程中始终没有找到gnujaxp.jar包
2023-07-15 13:20:201

DataInputStream读不出内容求教,谢谢

catch(Exception e){e.printStackTrace(); //看看一定出错了}DataInputStream 一般用来读DataOutputStream写出来的东西,而不是你自己用notepad写的东西。读一般文本文件的话,推荐用Scanner (jdk1.5+)或BufferedReader。////////////////////////////////或者这样:String a=""; //替换掉int a=0;try{a=d.readLine();}catch(Exception e){ e.printStackTrace();}System.out.println(a);
2023-07-15 13:20:461

一个java的小程序出现的问题Exception in thread "main" java.io.EOFException 帮忙看看是怎么回事哦,谢谢

io报错,你看看有没有引入相应的包进去。
2023-07-15 13:20:534

java.io.EOFException 这个异常怎么解决

EOF=end of file,当输入过程中意外到达文件或流的末尾时,抛出此异常。
2023-07-15 13:21:111

net.sf.ehcache.CacheException: java.io.EOFException

事务配置有问题。无法commit,配置发出来。
2023-07-15 13:21:181

TCP/IP协议 怎么用JAVA发送和接收二进制数据 要具体实例

1.TCP/IP协议要求信息必须在块(chunk)中发送和接收,而块的长度必须是8位的倍数,因此,我们可以认为TCP/IP协议中传输的信息是字节序列。如何发送和解析信息需要一定的应用程序协议。2.信息编码:首先是Java里对基本整型的处理,发送时,要注意:1)每种数据类型的字节个数;2)这些字节的发送顺序是怎样的?(little-endian还是big-endian);3)所传输的数值是有符号的(signed)还是无符号的(unsigned)。具体编码时采用位操作(移位和屏蔽)就可以了。具体在Java里,可以采用DataOutputStream类和ByteArrayOutputStream来实现。恢复时可以采用DataInputStream类和ByteArrayInputStream类。 其次,字符串和文本,在一组符号与一组整数之间的映射称为编码字符集(coded character set)。发送者与接收者必须在符号与整数的映射方式上达成共识,才能使用文本信息进行通信,最简单的方法就是定义一个标准字符集。具体编码时采用String的getBytes()方法。 最后,位操作。如果设置一个特定的设为1,先设置好掩码(mask),之后用或操作;要清空特定一位,用与操作。3.成帧与解析成帧(framing)技术解决了接收端如何定位消息的首位位置的问题。如果接收者试图从套接字中读取比消息本身更多的字节,将可能发生以下两种情况之一:如果信道中没有其他消息,接收者将阻塞等待,同时无法处理接收到的消息;如果发送者也在等待接收端的响应消息,则会形成死锁(dealock);另一方面,如果信道中还有其他消息,则接收者会将后面消息的一部分甚至全部读到第一条消息中去,这将产生一些协议错误。因此,在使用TCP套接字时,成帧就是一个非常重要的考虑因素。有两个技术:1.基于定界符(Delimiter-based):消息的结束由一个唯一的标记(unique marker)指出,即发送者在传输完数据后显式添加的一个特殊字节序列。这个特殊标记不能在传输的数据中出现。幸运的是,填充(stuffing)技术能够对消息中出现的定界符进行修改,从而使接收者不将其识别为定界符。在接收者扫描定界符时,还能识别出修改过的数据,并在输出消息中对其进行还原,从而使其与原始消息一致。2.显式长度(Explicit length):在变长字段或消息前附加一个固定大小的字段,用来指示该字段或消息中包含了多少字节。这种方法要确定消息长度的上限,以确定保存这个长度需要的字节数。接口:Java代码 import java.io.IOException; import java.io.OutputStream; public interface Framer { void frameMsg(byte [] message,OutputStream out) throws IOException; byte [] nextMsg() throws IOException; } 定界符的方式:Java代码 import java.io.ByteArrayOutputStream; import java.io.EOFException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class DelimFramer implements Framer { private InputStream in;//data source; private static final byte DELIMTER=(byte)" ";//message delimiter public DelimFramer(InputStream in){ this.in=in; } @Override public void frameMsg(byte[] message, OutputStream out) throws IOException { //ensure that the message dose not contain the delimiter for(byte b:message){ if(b==DELIMTER) throw new IOException("Message contains delimiter"); } out.write(message); out.write(DELIMTER); out.flush(); } @Override public byte[] nextMsg() throws IOException { ByteArrayOutputStream messageBuffer=new ByteArrayOutputStream(); int nextByte; while((nextByte=in.read())!=DELIMTER){ if(nextByte==-1){//end of stream? if(messageBuffer.size()==0){ return null; }else{ throw new EOFException("Non-empty message without delimiter"); } } messageBuffer.write(nextByte); } return messageBuffer.toByteArray(); } } 显式长度方法:Java代码 import java.io.DataInputStream; import java.io.EOFException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class LengthFramer implements Framer { public static final int MAXMESSAGELENGTH=65535; public static final int BYTEMASK=0xff; public static final int SHOTMASK=0xffff; public static final int BYTESHIFT=8; private DataInputStream in;// wrapper for data I/O public LengthFramer(InputStream in) throws IOException{ this.in=new DataInputStream(in); } @Override public void frameMsg(byte[] message, OutputStream out) throws IOException { if(message.length>MAXMESSAGELENGTH){ throw new IOException("message too long"); } //write length prefix out.write((message.length>>BYTEMASK)&BYTEMASK); out.write(message.length&BYTEMASK); //write message out.write(message); out.flush(); } @Override public byte[] nextMsg() throws IOException { int length; try{ length=in.readUnsignedShort(); }catch(EOFException e){ //no (or 1 byte) message; return null; } //0<=length<=65535; byte [] msg=new byte[length]; in.readFully(msg);//if exception,it"s a framing error; return msg; } }
2023-07-15 13:21:252

对象流报java.io.utfdataformatexception 怎么解决?

在数据输入流中或由实现该数据输入接口的任何类中以 UTF-8 修改版格式读取错误字符串时,抛出此异常。DataInput 接口用于从二进制流中读取字节,并根据所有 Java 基本类型数据进行重构。同时还提供根据 UTF-8 修改版格式的数据重构 String 的工具。对于此接口中的所有数据读取例程来说,如果在读取所需字节数之前已经到达文件末尾 (end of file),则将抛出 EOFException(IOException 的一种)。如果因为到达文件末尾以外的其他原因无法读取字节,则将抛出 IOException 而不是 EOFException。尤其是,在输入流已关闭的情况下,将抛出 IOException。
2023-07-15 13:21:322

java,DataOutputStream 读取错误啊,Exception in thread "main" java.io.EOFException,怎么修改??

试了一下文件内容纯英文就没问题,会不会是转码问题?你可以看一下底层源码
2023-07-15 13:21:511

我用eclipse修改JAVA游戏的图片,但是替换后,游戏运行的还是原来的图片.怎么修改.

at javax.imageio.stream.ImageInputStreamImpl.readFully(ImageInputStreamImpl.java:339) at java.io.DataInputStream.readUTF((ImageInputStreamImpl.java) at javax.imageio.stream.ImageInputStreamImpl.readUTF (ImageInputStreamImpl.java:318)重点在这些地方ImageInputStreamImpl.java的第339行代码 ImageInputStreamImpl.java的第318行代码
2023-07-15 13:22:031

程序分析题目

1.输出:0(int不初始化默认是0)package bgc;public class Happy { public static void main (String[] args){ int index=1; int a[]=new int[3]; int bas=a[index]; int baz=bas+index; System.out.println(a[baz]); }}2.输出:i=0j=-1public class ForLoop { public static void main (String[] args){ int i=0,j=5; st:for(;;i++){ for(;;j--){ if(i>j) break st; } } System.out.println("i="+i+"j="+j); }}3.输出:t equals4package bgc;public class Testt { public static void main (String[] args){ int m=2,p=1,t=0; for(;p<5;p++){ if(t++>m){ m=p+t; } } System.out.println("t equals"+t); }}4解释下面的程序运行结果输出为什么是null答案:public void My()不是构造函数,要改成Public My(),否则s不能初始化public class My{String s;public void My(){s="Constructor";}public void go(){System.out.println(s);}public static void main(String args[]){My m=new My();m.go();}}5.输出:无Object 类的 equals 方法实现对象上差别可能性最大的相等关系;即,对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true(x == y 具有值 true)。 public class ThisClass { public static void main (String[] args){ Object o=(Object)new ThisClass(); Object s=new Object(); if(o.equals(s)) System.out.println("true"); }}6.public class C1 {static int j=0;public void method(int a){ j++;}}class Test extends C1{ public int method(){ return j++; } public void result(){ method(j); System.out.println(j+method()); } public static void main(String args[]){ new Test().result(); }}7.class ThisClass{static void foo() throws Exception{throw new Exception();}public static void main(String args[]){try{foo();}catch(Exception){System.exit(0);}finally{System.out.println("In finally");}}}二、下面编译可能有错 若有 为什么?1.为什么不能编译下面代码?public class Test{static int sn;int n;final static int fsn;final int fn;}2.interface Action{int i=10;}class Happy implements Action{public static void main(String args[]){Happy h=new Happy();int j;j=Action.i;j=Happy.i;j=h.i; }}编译运行的结果是什么?三、注释处(catch?),应该放什么内容答案:catch(EOFException e)class Excep{static void method() throws Exception{throw new EOFException();}public static void main(String args[]){try{method();}catch(////){}}} 有几个没答。你最好在Eclipse里试一试,其实不费时间
2023-07-15 13:22:102

为啥我的删除报异常java.io.EOFException

这个异常不是必须声明的,也就是说它虽然是异常,但其实是正常运行结束的标志。EOF表示读到了文件尾( String str = dis.readUTF(); ,客户端已经断开,后面已经没有内容可以读了),发送结束自然连接也就断开了。
2023-07-15 13:22:161

Java:如何判断异常种类呢?现在只知道是Exception e

从调试角度加上}catch(Exception e){ e.printStackTrace(); }在console窗口会看到异常的详细信息。一般来说最上面打印的是产生异常的根源出错class你可能是初学java,处理异常时要养成习惯。有三个原则将会帮助你更好的使用异常即:具体化、早throw及晚Catch。要搞清楚错误是什么?什么地方发生错误?为什么发生错误?比如说,Java的IO包定义了继承于 Exception的IOException类,更特殊一点就是FileNotFoundException,EOFException,, ObjectStreamException和所有的IOException的子类。每个异常类都描述了一种特定的与IO有关的错误,它们分别表示:文件丢失,文件意外结束,或者一个被破坏的序列化对象流。异常类越具体,对回答程序发生了什么错误就越有帮助。这也就是为什么要将异常类分类,以此让每个类特定地代表一种程序错误的原因?同时也是为什么在方法声明中throws某个特定的异常类,而不是如: throw Exception?也是为什么要在Catch中捕获具体的异常对象,而不是形如:try{}catch(Excetion e ){}的原因?具体化就是要尽量明确try{}catch中间可能出现的Exception类型。所谓具体化为:定义具体的代表某个特定错误的异常类。方法声明特定的异常类。方法捕获具体类。目地:具体问题具体处理。早抛出 通过Stack trace向我们展示的引起异常的方法调用顺序、类名、方法名、原代码文件名以及每个方法调用的行号,这样可以帮助我们精确地定位异常发生的地方。因为比较早的抛出了异常,所以异常就变得更加具体和准确了。Stack trace也很准确地反映出发生了什么异常,为什么及在什么地方。这样使得Stacktrace更加准确的反映了本来程序所发生的一切:晚捕获许多Java开发人员,无论新手或老手都普遍地犯一个错误就是在程序有能力处理一个异常之前就将它捕获了。Java编译器坚持让Checked Exception不是要被捕获就一定要在函数头中声明的作法也客观上促使了程序员采用上面这一错误作法。对程序员来说,一个很自然的趋势就是让代码包括在try程序块中并捕捉异常以阻止编译器报错。问题是当捕获到异常之后你该如何处理它了?最坏的事情就是不做任何处理。一个空的catch块使异常无端地消失了从而使得关于异常的What、Where、Why信息永远丢失了。将异常的信息Log下来使情况稍好点,毕竟那样还有关于异常信息的记录。但是我们不可能期望用户想看甚至看懂Log文件和Stack trace信息。其实晚捕获的意思可以这么理解:如果try{}catch一个Exception之后不做任何处理,还不如不处理,最好在一个统一的层面统一处理Exception。有时候,开发人员直接捕获Exception,然后显示异常类的名字和Stack Trace信息,但为了具体问题具体处理,请不要这样做。看到屏幕上的Java.io.EOFException或者Stack Trace信息可能会使用户迷惑,而不是帮助他。捕获具体的异常从而用英语或其它语言给用户一个与问题相关提示,同时将异常的Stack Trace放到LOG文件中。异常和Stack Trace对开发人员意味着一个有力的调试工具,而对用户却毫无用处。
2023-07-15 13:22:267

报了一个java.io.EOFException 的错误,怎么解决啊?

1,内部类BlockDataInputStream.的方法peekByte抛出的异常,意思就是到达了文件的末尾,程序却没有正常结束读取文件内容,你可以单步调试一下看看到达文件末尾之后程序为什么没有停下来2,从异常来看,你是不是使用了一个内部类BlockDataInputStream?错误就在BlockDataInputStream.peekByte()方法.java.io.EOFException:当输入过程中意外到达文件或流的末尾时,抛出此异常。 此异常主要被数据输入流用来表明到达流的末尾。3,我解决过这个问题。writeObject可以写n个,但是readObject()却只能读一次,你做一下测试。如果你需要序列化好几个类的话,建议你用json;或者自己写两个方法,一个是将对象转换为字符串,一个是将字符串反转为对象。这样可以轻松解决问题。4,这个错误我遇到过,大概的产生异常的原因是:用输入输出流来操作一个文件,你用的是readObject()和writeObject()方法来进行对象的序列化和反序列化,当你在反序列化(读入对象)的时候,文件中没有那么多的对象来让你读取.所以就跑出这个异常,就好比,你还没write就先read
2023-07-15 13:22:542

java出现异常Exception in thread "main" java.io.EOFException

内部类BlockDataInputStream.的方法peekByte抛出的异常,意思就是到达了文件的末尾,程序却没有正常结束读取文件内容,你可以单步调试一下看看到达文件末尾之后程序为什么没有停下来
2023-07-15 13:23:043

Exception in thread "main" java.io.EOFException是什么错误呢?

main方法的改动如下:public static void main(String[] args)throws IOException{ FileOutputStream out1=new FileOutputStream("D:\test.txt"); BufferedOutputStream out2=new BufferedOutputStream(out1); DataOutputStream out=new DataOutputStream(out2); out.writeChar("a"); out.writeChars("hello!"); out.writeUTF("12"); out.writeUTF("你好"); out.flush(); //out.close(); /*PrintWriter out=new PrintWriter(out2); out.print(12); out.println(12.5); out.println("hello java!"); out.println("你好");*/ InputStream in1=new FileInputStream("D:\test.txt"); BufferedInputStream in2=new BufferedInputStream(in1); DataInputStream in=new DataInputStream(in2); System.out.println(in.readLine()); /*System.out.print(in.readChar()+" "); System.out.print(in.readUTF()+" "); System.out.print(in.readUTF()+" ");*/ /* String data; int len=in.available(); for(int i=0;i<len;i++) System.out.print(in.readUTF()+" "); }*/ }
2023-07-15 13:23:111

jetty出现org.mortbay.jetty.EofException异常为啥

从异常日志可知是jetty准备会写response发现connection已经被关闭导致。应用部署架构代码 http2.2.15+mod_proxy+jetty7.2.0
2023-07-15 13:23:191

jetty出现org.mortbay.jetty.EofException异常为啥

从异常日志可知是jetty准备会写response发现connection已经被关闭导致。 应用部署架构代码
2023-07-15 13:23:261

java 异常问题 java.io.EOFException 请大神指点迷津

http://zhidao.baidu.com/link?url=_3Kuu8cWuxkdZhuK9xejGaavwhEI9R2zCCOxdt_B7CFfIEY8CNB8vywdsCdWkfZx4xkTXP1yV7zW5n4lArd7Pa
2023-07-15 13:23:331

java中, try catch(IOException s)什么意思,怎么用

这是java用来捕捉异常的,捕捉程序在运行时可能出现的异常。 1,当代码在运行时可能出现异常时用try{} catch{}捕捉异常,这样程序出现异常不会立即跳出程序,可以经过处理后让程序继续运行或者跳出。例如:String a = "12211a";try { int b = Integer.parseInt(a); // 将字符串转为数字,a里面有字母,转换失败,将会抛出异常。 System.out.println("is a number:"+b);} catch (Exception e) { System.out.println("not a number");} 2,还有很多其他异常,列举一些常见异常:算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 类未找到异常:ClassNotFoundException 数组负下标异常:NegativeArrayException 数组下标越界异常:ArrayIndexOutOfBoundsException 违背安全原则异常:SecturityException 文件已结束异常:EOFException 文件未找到异常:FileNotFoundException 字符串转换为数字异常:NumberFormatException 操作数据库异常:SQLException 输入输出异常:IOException
2023-07-15 13:23:402

java类中经常会出现一个常量是序列号,序列号是什么意思

1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话) 2. java.lang.classnotfoundexception 这个异常是很多原本在jb等开发环境中开发的程序员,把jb下的程序包放在wtk下编译经常出现的问题,异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可,如果是在jb下做的程序包,一般都是默认加上package的,所以转到wtk下后要注意把package的路径加上。 3. java.lang.arithmeticexception 这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,大家就要好好检查一下自己程序中涉及到数学运算的地方,公式是不是有不妥了。 4. java.lang.arrayindexoutofboundsexception 这个异常相信很多朋友也经常遇到过,异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。 5. java.lang.illegalargumentexception 这个异常的解释是"方法的参数错误",很多j2me的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数如果写成负数就会出现这个异常,再比如g.setcolor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。 6. java.lang.illegalaccessexception 这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了package的情况下要注意这个异常。 其他还有很多异常,我就不一一列举了,我要说明的是,一个合格的程序员,需要对程序中常见的问题有相当的了解和相应的解决办法,否则仅仅停留在写程序而不会改程序的话,会极大影响到自己的开发的。关于异常的全部说明,在api里都可以查阅。算术异常类:ArithmeticExecption空指针异常类:NullPointerException类型强制转换异常:ClassCastException数组负下标异常:NegativeArrayException数组下标越界异常:ArrayIndexOutOfBoundsException违背安全原则异常:SecturityException文件已结束异常:EOFException文件未找到异常:FileNotFoundException字符串转换为数字异常:NumberFormatException操作数据库异常:SQLException输入输出异常:IOException方法未找到异常:NoSuchMethodExceptionjava.lang.AbstractMethodError抽象方法错误。当应用试图调用抽象方法时抛出。java.lang.AssertionError断言错。用来指示一个断言失败的情况。java.lang.ClassCircularityError类循环依赖错误。在初始化一个类时,若检测到类之间循环依赖则抛出该异常。java.lang.ClassFormatError类格式错误。当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有效格式时抛出。java.lang.Error错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。java.lang.ExceptionInInitializerError初始化程序错误。当执行一个类的静态初始化程序的过程中,发生了异常时抛出。静态初始化程序是指直接包含于类中的static语句段。java.lang.IllegalAccessError违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。java.lang.IncompatibleClassChangeError不兼容的类变化错误。当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的情况下,容易引发该错误。java.lang.InstantiationError实例化错误。当一个应用试图通过Java的new操作符构造一个抽象类或者接口时抛出该异常.java.lang.InternalError内部错误。用于指示Java虚拟机发生了内部错误。java.lang.LinkageError链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的情况。java.lang.NoClassDefFoundError未找到类定义错误。当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。java.lang.NoSuchFieldError域不存在错误。当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该错误。java.lang.NoSuchMethodError方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。java.lang.OutOfMemoryError内存不足错误。当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误。java.lang.StackOverflowError堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。java.lang.ThreadDeath线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。java.lang.UnknownError未知错误。用于指示Java虚拟机发生了未知严重错误的情况。java.lang.UnsatisfiedLinkError未满足的链接错误。当Java虚拟机未找到某个类的声明为native方法的本机语言定义时抛出。java.lang.UnsupportedClassVersionError不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。java.lang.VerifyError验证错误。当验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出该错误。java.lang.VirtualMachineError虚拟机错误。用于指示虚拟机被破坏或者继续执行操作所需的资源不足的情况。java.lang.ArithmeticException算术条件异常。譬如:整数除零等。java.lang.ArrayIndexOutOfBoundsException数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。java.lang.ArrayStoreException数组存储异常。当向数组中存放非数组声明类型对象时抛出。java.lang.ClassCastException类造型异常。假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制类型转换异常。java.lang.ClassNotFoundException找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。java.lang.CloneNotSupportedException不支持克隆异常。当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常。java.lang.EnumConstantNotPresentException枚举常量不存在异常。当应用试图通过名称和枚举类型访问一个枚举对象,但该枚举对象并不包含常量时,抛出该异常。java.lang.Exception根异常。用以描述应用程序希望捕获的情况。java.lang.IllegalAccessException违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。java.lang.IllegalMonitorStateException违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。java.lang.IllegalStateException违法的状态异常。当在Java环境和应用尚未处于某个方法的合法调用状态,而调用了该方法时,抛出该异常。java.lang.IllegalThreadStateException违法的线程状态异常。当县城尚未处于某个方法的合法调用状态,而调用了该方法时,抛出异常。java.lang.IndexOutOfBoundsException索引越界异常。当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。java.lang.InstantiationException实例化异常。当试图通过newInstance()方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。java.lang.InterruptedException被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。java.lang.NegativeArraySizeException数组大小为负值异常。当使用负数大小值创建数组时抛出该异常。java.lang.NoSuchFieldException属性不存在异常。当访问某个类的不存在的属性时抛出该异常。java.lang.NoSuchMethodException方法不存在异常。当访问某个类的不存在的方法时抛出该异常。java.lang.NullPointerException空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。java.lang.NumberFormatException数字格式异常。当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。java.lang.RuntimeException运行时异常。是所有Java虚拟机正常操作期间可以被抛出的异常的父类。java.lang.SecurityException安全异常。由安全管理器抛出,用于指示违反安全情况的异常。java.lang.StringIndexOutOfBoundsException字符串索引越界异常。当使用索引值访问某个字符串中的字符,而该索引值小于0或大于等于序列大小时,抛出该异常。java.lang.TypeNotPresentException类型不存在异常。当应用试图
2023-07-15 13:23:505

socket通信异常 java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)

是的,一个输入、一个输出
2023-07-15 13:24:151

Java 读取二进制文件 ,读八个字节,然后转换成一个double,怎么写? 我知道怎么读四个字节转成int的。

先申明一下你的前提是二进制文件,读取8个字节,那么可以这么做:public double readDouble(InputStream in) throws IOException { byte[] tmp = new byte[8 * 8];//8个字节长度 if (in != null && (in.read(tmp) != -1)) { String str = new String(tmp); return Double.valueOf(str); } return -1; }
2023-07-15 13:24:352

jdbc 连接Mysql Communications link failure due to underlying exception: 非常纳闷,急求高手解决办法

从题主给你内容来看 你获取连接应该就失败了那么建议题主,做以下排查1 通过 软件或者可视化界面 能否正常登陆你的数据库如果能正确登陆至少说明 数据库层面没有问题2加载驱动 和 获取连接 能否能到正确的连接 如果能获取到 连接 并且打印出 对象号 说明能正确获取连接如果这两部都没有问题 那么才要继续查询另外 你不贴代码 直接发报错信息 还只发了一部分 我们很难回答啊
2023-07-15 13:24:442

安卓第一个程序,发生错误:Error generating final archive: java.io.EOFException,怎么解决啊

这个好像是签名过期的问题,不好解决的说。建议先备份,然后初始化,试试。
2023-07-15 13:24:513

Java中的io流关闭问题

如下例子代码: FileInputStream is = new FileInputStream("."); BufferedInputStream bis = new BufferedInputStream(is); bis.close();从设计模式上看:java.io.BufferedInputStream是java.io.InputStream的装饰类。BufferedInputStream装饰一个 InputStream 使之具有缓冲功能,is要关闭只需要调用最终被装饰出的对象的 close()方法即可,因为它最终会调用真正数据源对象的 close()方法。BufferedInputStream的close方法中对InputStream进行了关闭,下面是jdk中附带的源代码: java.io.BufferedInputStream的api:closepublic void close()throws IOException 关闭此输入流并释放与该流关联的所有系统资源。因此,可以只调用外层流的close方法关闭其装饰的内层流,验证例子:public static void main(String[] args) throws Exception { FileOutputStream fos = new FileOutputStream("d:\a.txt"); OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8"); BufferedWriter bw = new BufferedWriter(osw); bw.write("java IO close test"); bw.close(); }验证ok
2023-07-15 13:25:065

JAVA怎样调用https类型的webservice

使用httpurlconnection就可以了URL url = new URL("Ipaddress"); URLConnection rulConnection = url.openConnection(); // 此处的urlConnection对象实际上是根据URL的 // 请求协议(此处是http)生成的URLConnection类 // 的子类HttpURLConnection,故此处最好将其转化 // 为HttpURLConnection类型的对象,以便用到 // HttpURLConnection更多的API.如下: HttpURLConnection httpUrlConnection = (HttpURLConnection) rulConnection; // 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在 // http正文内,因此需要设为true, 默认情况下是false; httpUrlConnection.setDoOutput(true); // 设置是否从httpUrlConnection读入,默认情况下是true; httpUrlConnection.setDoInput(true); // Post 请求不能使用缓存 httpUrlConnection.setUseCaches(false); // 设定传送的内容类型是可序列化的java对象 // (如果不设此项,在传送序列化对象时,当WEB服务默认的不是这种类型时可能抛java.io.EOFException) httpUrlConnection.setRequestProperty("Content-type", "application/x-java-serialized-object"); // 设定请求的方法为"POST",默认是GET httpUrlConnection.setRequestMethod("POST"); // 连接,从上述第2条中url.openConnection()至此的配置必须要在connect之前完成, httpUrlConnection.connect();//向服务器传值都封装在这个流中OutputStream outStrm = httpUrlConnection.getOutputStream(); ObjectOutputStream objOutputStrm = new ObjectOutputStream(outStrm);//如果有指定的参数列表,可以在content拼接objOutputStrm.writeObject(new String("我是测试数据")); objOutputStm.flush(); objOutputStm.close(); // 调用HttpURLConnection连接对象的getInputStream()函数, // 将内存缓冲区中封装好的完整的HTTP请求电文发送到服务端。//执行此代码真正发送数据到服务器InputStream inStrm = httpConn.getInputStream();
2023-07-15 13:25:201

android连接php错误java.io.EOFException: End of input at line 1 column 1

这个错误很难分析出是哪里出错了,大多数都是操作文件产生的错误。
2023-07-15 13:25:271

java.lang.RuntimeException: java.io.EOFException: End of input at line 1 column 1

序列化与反序列号错误,内容未匹配,当读取第一个时,已读取到文件末尾,就抛出异常序列号时一定要调用相应的write()方法
2023-07-15 13:25:341

在java中常出现的异常和解决方法?

1. java.lang.nullpointerexceptionx0dx0a 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)x0dx0ax0dx0a 2. java.lang.classnotfoundexceptionx0dx0a 这个异常是很多原本在jb等开发环境中开发的程序员,把jb下的程序包放在wtk下编译经常出现的问题,异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可,如果是在jb下做的程序包,一般都是默认加上package的,所以转到wtk下后要注意把package的路径加上。x0dx0ax0dx0a 3. java.lang.arithmeticexceptionx0dx0a 这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,大家就要好好检查一下自己程序中涉及到数学运算的地方,公式是不是有不妥了。x0dx0ax0dx0a 4. java.lang.arrayindexoutofboundsexceptionx0dx0a 这个异常相信很多朋友也经常遇到过,异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。x0dx0ax0dx0a 5. java.lang.illegalargumentexceptionx0dx0a 这个异常的解释是"方法的参数错误",很多j2me的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数如果写成负数就会出现这个异常,再比如g.setcolor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。x0dx0ax0dx0a 6. java.lang.illegalaccessexceptionx0dx0a 这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了package的情况下要注意这个异常。x0dx0ax0dx0a 其他还有很多异常,我就不一一列举了,我要说明的是,一个合格的程序员,需要对程序中常见的问题有相当的了解和相应的解决办法,否则仅仅停留在写程序而不会改程序的话,会极大影响到自己的开发的。关于异常的全部说明,在api里都可以查阅。x0dx0ax0dx0a算术异常类:ArithmeticExecptionx0dx0ax0dx0a空指针异常类:NullPointerExceptionx0dx0ax0dx0a类型强制转换异常:ClassCastExceptionx0dx0ax0dx0a数组负下标异常:NegativeArrayExceptionx0dx0ax0dx0a数组下标越界异常:ArrayIndexOutOfBoundsExceptionx0dx0ax0dx0a违背安全原则异常:SecturityExceptionx0dx0ax0dx0a文件已结束异常:EOFExceptionx0dx0ax0dx0a文件未找到异常:FileNotFoundExceptionx0dx0ax0dx0a字符串转换为数字异常:NumberFormatExceptionx0dx0ax0dx0a操作数据库异常:SQLExceptionx0dx0ax0dx0a输入输出异常:IOExceptionx0dx0ax0dx0a方法未找到异常:NoSuchMethodExceptionx0dx0ax0dx0ajava.lang.AbstractMethodErrorx0dx0ax0dx0a抽象方法错误。当应用试图调用抽象方法时抛出。x0dx0ax0dx0ajava.lang.AssertionErrorx0dx0ax0dx0a断言错。用来指示一个断言失败的情况。x0dx0ax0dx0ajava.lang.ClassCircularityErrorx0dx0ax0dx0a类循环依赖错误。在初始化一个类时,若检测到类之间循环依赖则抛出该异常。x0dx0ax0dx0ajava.lang.ClassFormatErrorx0dx0ax0dx0a类格式错误。当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有效格式时抛出。x0dx0ax0dx0ajava.lang.Errorx0dx0ax0dx0a错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。x0dx0ax0dx0ajava.lang.ExceptionInInitializerErrorx0dx0ax0dx0a初始化程序错误。当执行一个类的静态初始化程序的过程中,发生了异常时抛出。静态初始化程序是指直接包含于类中的static语句段。x0dx0ax0dx0ajava.lang.IllegalAccessErrorx0dx0ax0dx0a违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。x0dx0ax0dx0ajava.lang.IncompatibleClassChangeErrorx0dx0ax0dx0a不兼容的类变化错误。当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的情况下,容易引发该错误。x0dx0ax0dx0ajava.lang.InstantiationErrorx0dx0ax0dx0a实例化错误。当一个应用试图通过Java的new操作符构造一个抽象类或者接口时抛出该异常.x0dx0ax0dx0ajava.lang.InternalErrorx0dx0ax0dx0a内部错误。用于指示Java虚拟机发生了内部错误。x0dx0ax0dx0ajava.lang.LinkageErrorx0dx0ax0dx0a链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的情况。x0dx0ax0dx0ajava.lang.NoClassDefFoundErrorx0dx0ax0dx0a未找到类定义错误。当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。x0dx0ax0dx0ajava.lang.NoSuchFieldErrorx0dx0ax0dx0a域不存在错误。当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该错误。x0dx0ax0dx0ajava.lang.NoSuchMethodErrorx0dx0ax0dx0a方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。x0dx0ax0dx0ajava.lang.OutOfMemoryErrorx0dx0ax0dx0a内存不足错误。当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误。x0dx0ax0dx0ajava.lang.StackOverflowErrorx0dx0ax0dx0a堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。x0dx0ax0dx0ajava.lang.ThreadDeathx0dx0ax0dx0a线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。x0dx0ax0dx0ajava.lang.UnknownErrorx0dx0ax0dx0a未知错误。用于指示Java虚拟机发生了未知严重错误的情况。x0dx0ax0dx0ajava.lang.UnsatisfiedLinkErrorx0dx0ax0dx0a未满足的链接错误。当Java虚拟机未找到某个类的声明为native方法的本机语言定义时抛出。x0dx0ax0dx0ajava.lang.UnsupportedClassVersionErrorx0dx0ax0dx0a不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。x0dx0ax0dx0ajava.lang.VerifyErrorx0dx0ax0dx0a验证错误。当验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出该错误。x0dx0ax0dx0ajava.lang.VirtualMachineErrorx0dx0ax0dx0a虚拟机错误。用于指示虚拟机被破坏或者继续执行操作所需的资源不足的情况。x0dx0ax0dx0ajava.lang.ArithmeticExceptionx0dx0ax0dx0a算术条件异常。譬如:整数除零等。x0dx0ax0dx0ajava.lang.ArrayIndexOutOfBoundsExceptionx0dx0ax0dx0a数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。x0dx0ax0dx0ajava.lang.ArrayStoreExceptionx0dx0ax0dx0a数组存储异常。当向数组中存放非数组声明类型对象时抛出。x0dx0ax0dx0ajava.lang.ClassCastExceptionx0dx0ax0dx0a类造型异常。假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制类型转换异常。x0dx0ax0dx0ajava.lang.ClassNotFoundExceptionx0dx0ax0dx0a找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。x0dx0ax0dx0ajava.lang.CloneNotSupportedExceptionx0dx0ax0dx0a不支持克隆异常。当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常。x0dx0ax0dx0ajava.lang.EnumConstantNotPresentExceptionx0dx0ax0dx0a枚举常量不存在异常。当应用试图通过名称和枚举类型访问一个枚举对象,但该枚举对象并不包含常量时,抛出该异常。x0dx0ax0dx0ajava.lang.Exceptionx0dx0ax0dx0a根异常。用以描述应用程序希望捕获的情况。x0dx0ax0dx0ajava.lang.IllegalAccessExceptionx0dx0ax0dx0a违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。x0dx0ax0dx0ajava.lang.IllegalMonitorStateExceptionx0dx0ax0dx0a违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。x0dx0ax0dx0ajava.lang.IllegalStateExceptionx0dx0ax0dx0a违法的状态异常。当在Java环境和应用尚未处于某个方法的合法调用状态,而调用了该方法时,抛出该异常。x0dx0ax0dx0ajava.lang.IllegalThreadStateExceptionx0dx0ax0dx0a违法的线程状态异常。当县城尚未处于某个方法的合法调用状态,而调用了该方法时,抛出异常。x0dx0ax0dx0ajava.lang.IndexOutOfBoundsExceptionx0dx0ax0dx0a索引越界异常。当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。x0dx0ax0dx0ajava.lang.InstantiationExceptionx0dx0ax0dx0a实例化异常。当试图通过newInstance()方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。x0dx0ax0dx0ajava.lang.InterruptedExceptionx0dx0ax0dx0a被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。x0dx0ax0dx0ajava.lang.NegativeArraySizeExceptionx0dx0ax0dx0a数组大小为负值异常。当使用负数大小值创建数组时抛出该异常。x0dx0ax0dx0ajava.lang.NoSuchFieldExceptionx0dx0ax0dx0a属性不存在异常。当访问某个类的不存在的属性时抛出该异常。x0dx0ax0dx0ajava.lang.NoSuchMethodExceptionx0dx0ax0dx0a方法不存在异常。当访问某个类的不存在的方法时抛出该异常。x0dx0ax0dx0ajava.lang.NullPointerExceptionx0dx0ax0dx0a空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。x0dx0ax0dx0ajava.lang.NumberFormatExceptionx0dx0ax0dx0a数字格式异常。当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。x0dx0ax0dx0ajava.lang.RuntimeExceptionx0dx0ax0dx0a运行时异常。是所有Java虚拟机正常操作期间可以被抛出的异常的父类。x0dx0ax0dx0ajava.lang.SecurityExceptionx0dx0ax0dx0a安全异常。由安全管理器抛出,用于指示违反安全情况的异常。x0dx0ax0dx0ajava.lang.StringIndexOutOfBoundsExceptionx0dx0ax0dx0a字符串索引越界异常。当使用索引值访问某个字符串中的字符,而该索引值小于0或大于等于序列大小时,抛出该异常。x0dx0ax0dx0ajava.lang.TypeNotPresentExceptionx0dx0ax0dx0a类型不存在异常。当应用试图
2023-07-15 13:25:431

android连接java服务器时出现错误:java.io.EOFException

java.io.EOFException------ >end of file exception。如果按照预设的格式读取 客户端期望的数据长度是10个字节,而实际上只读取到了8个字节 则客户端无法完成格式解析,数据已经结束,则会出现类似错误。
2023-07-15 13:25:502

调用eai同步核心征管出错:java.lang.exception:失败是什么意思

1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)2. java.lang.classnotfoundexception这个异常是很多原本在jb等开发环境中开发的程序员,把jb下的程序包放在wtk下编译经常出现的问题,异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可,如果是在jb下做的程序包,一般都是默认加上package的,所以转到wtk下后要注意把package的路径加上。3. java.lang.arithmeticexception这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,大家就要好好检查一下自己程序中涉及到数学运算的地方,公式是不是有不妥了。4. java.lang.arrayindexoutofboundsexception这个异常相信很多朋友也经常遇到过,异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。5. java.lang.illegalargumentexception这个异常的解释是"方法的参数错误",很多j2me的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数如果写成负数就会出现这个异常,再比如g.setcolor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。6. java.lang.illegalaccessexception这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了package的情况下要注意这个异常。其他还有很多异常,我就不一一列举了,我要说明的是,一个合格的程序员,需要对程序中常见的问题有相当的了解和相应的解决办法,否则仅仅停留在写程序而不会改程序的话,会极大影响到自己的开发的。关于异常的全部说明,在api里都可以查阅。算术异常类:ArithmeticExecption空指针异常类:NullPointerException类型强制转换异常:ClassCastException数组负下标异常:NegativeArrayException数组下标越界异常:ArrayIndexOutOfBoundsException违背安全原则异常:SecturityException文件已结束异常:EOFException文件未找到异常:FileNotFoundException字符串转换为数字异常:NumberFormatException操作数据库异常:SQLException输入输出异常:IOException方法未找到异常:NoSuchMethodExceptionjava.lang.AbstractMethodError抽象方法错误。当应用试图调用抽象方法时抛出。java.lang.AssertionError断言错。用来指示一个断言失败的情况。java.lang.ClassCircularityError类循环依赖错误。在初始化一个类时,若检测到类之间循环依赖则抛出该异常。java.lang.ClassFormatError类格式错误。当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有效格式时抛出。java.lang.Error错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。java.lang.ExceptionInInitializerError初始化程序错误。当执行一个类的静态初始化程序的过程中,发生了异常时抛出。静态初始化程序是指直接包含于类中的static语句段。java.lang.IllegalAccessError违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。java.lang.IncompatibleClassChangeError不兼容的类变化错误。当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的情况下,容易引发该错误。java.lang.InstantiationError实例化错误。当一个应用试图通过Java的new操作符构造一个抽象类或者接口时抛出该异常.java.lang.InternalError内部错误。用于指示Java虚拟机发生了内部错误。java.lang.LinkageError链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的情况。java.lang.NoClassDefFoundError未找到类定义错误。当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。java.lang.NoSuchFieldError域不存在错误。当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该错误。java.lang.NoSuchMethodError方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。java.lang.OutOfMemoryError内存不足错误。当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误。java.lang.StackOverflowError堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。java.lang.ThreadDeath线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。java.lang.UnknownError未知错误。用于指示Java虚拟机发生了未知严重错误的情况。java.lang.UnsatisfiedLinkError未满足的链接错误。当Java虚拟机未找到某个类的声明为native方法的本机语言定义时抛出。java.lang.UnsupportedClassVersionError不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。java.lang.VerifyError验证错误。当验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出该错误。java.lang.VirtualMachineError虚拟机错误。用于指示虚拟机被破坏或者继续执行操作所需的资源不足的情况。java.lang.ArithmeticException算术条件异常。譬如:整数除零等。java.lang.ArrayIndexOutOfBoundsException数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。java.lang.ArrayStoreException数组存储异常。当向数组中存放非数组声明类型对象时抛出。java.lang.ClassCastException类造型异常。假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制类型转换异常。java.lang.ClassNotFoundException找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。java.lang.CloneNotSupportedException不支持克隆异常。当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常。java.lang.EnumConstantNotPresentException枚举常量不存在异常。当应用试图通过名称和枚举类型访问一个枚举对象,但该枚举对象并不包含常量时,抛出该异常。java.lang.Exception根异常。用以描述应用程序希望捕获的情况。java.lang.IllegalAccessException违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。java.lang.IllegalMonitorStateException违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。java.lang.IllegalStateException违法的状态异常。当在Java环境和应用尚未处于某个方法的合法调用状态,而调用了该方法时,抛出该异常。java.lang.IllegalThreadStateException违法的线程状态异常。当县城尚未处于某个方法的合法调用状态,而调用了该方法时,抛出异常。java.lang.IndexOutOfBoundsException索引越界异常。当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。java.lang.InstantiationException实例化异常。当试图通过newInstance()方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。java.lang.InterruptedException被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。java.lang.NegativeArraySizeException数组大小为负值异常。当使用负数大小值创建数组时抛出该异常。java.lang.NoSuchFieldException属性不存在异常。当访问某个类的不存在的属性时抛出该异常。java.lang.NoSuchMethodException方法不存在异常。当访问某个类的不存在的方法时抛出该异常。java.lang.NullPointerException空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。java.lang.NumberFormatException数字格式异常。当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。java.lang.RuntimeException运行时异常。是所有Java虚拟机正常操作期间可以被抛出的异常的父类。java.lang.SecurityException安全异常。由安全管理器抛出,用于指示违反安全情况的异常。java.lang.StringIndexOutOfBoundsException字符串索引越界异常。当使用索引值访问某个字符串中的字符,而该索引值小于0或大于等于序列大小时,抛出该异常。java.lang.TypeNotPresentException
2023-07-15 13:26:081

java JTextArea 中当点击“下一页时”如何让滚动条自动定位于最上方。

jsp.getVerticalScrollBar().setValue(0);
2023-07-15 13:26:231

java.io.EOFException

EOF错误,就是end of file错误。。就是文件已经读到结尾了,你还要它继续读而出现的错误
2023-07-15 13:26:471

EOFException是什么?

文件结尾了还继续读文件,就导致这个错误抛出。本来EOF的数值就是-1,但是是一种用于错误标识的记号
2023-07-15 13:26:531