标签: ioexception

.NET IO异常"无效签名"

在Web服务中执行代码:

using (File.OpenRead(@"\\server\file.txt"))
{
    // some stuff
}
Run Code Online (Sandbox Code Playgroud)

导致IO异常只是说"无效签名"

使用File静态方法时,我无法通过谷歌找到有关此错误消息的任何内容.

var exists = File.Exists(@"\\server\file.txt"))
Run Code Online (Sandbox Code Playgroud)

但是不会抛出异常,这使得它看起来好像可以看到那里的文件,但它无法打开它进行读取.

对于"无效签名"在这个例子中试图说的话,我真的很茫然.

谢谢.

更新:

即使使用模拟从服务器打开读取文件,它仍然会使用"无效签名"抛出IO异常.

堆:

<StackTrace>
  <StackFrame Index="6">
    <FileName />
    <Method>Void RenderImages(System.String, System.Nullable`1[System.Int32])</Method>
    <LineNumber>0</LineNumber>
    <ColumnNumber>0</ColumnNumber>
    <ILOffset>88</ILOffset>
  </StackFrame>
  <StackFrame Index="5">
    <FileName />
    <Method>Void .ctor(System.String, Boolean)</Method>
    <LineNumber>0</LineNumber>
    <ColumnNumber>0</ColumnNumber>
    <ILOffset>0</ILOffset>
  </StackFrame>
  <StackFrame Index="4">
    <FileName />
    <Method>Void .ctor(System.String, System.Text.Encoding, Boolean, Int32)</Method>
    <LineNumber>0</LineNumber>
    <ColumnNumber>0</ColumnNumber>
    <ILOffset>7</ILOffset>
  </StackFrame>
  <StackFrame Index="3">
    <FileName />
    <Method>Void .ctor(System.String, System.Text.Encoding, Boolean, Int32, Boolean)</Method>
    <LineNumber>0</LineNumber>
    <ColumnNumber>0</ColumnNumber>
    <ILOffset>113</ILOffset>
  </StackFrame>
  <StackFrame Index="2">
    <FileName />
    <Method>Void .ctor(System.String, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare, Int32, …
Run Code Online (Sandbox Code Playgroud)

.net c# ioexception

9
推荐指数
1
解决办法
3460
查看次数

有效URL的java.io.FileNotFoundException

我使用库rome.dev.java.net来获取RSS.

代码是

URL feedUrl = new URL("http://planet.rubyonrails.ru/xml/rss");
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(new XmlReader(feedUrl));
Run Code Online (Sandbox Code Playgroud)

您可以检查http://planet.rubyonrails.ru/xml/rss是否为有效URL,并在浏览器中显示该页面.

但我从我的申请中得到例外

java.io.FileNotFoundException: http://planet.rubyonrails.ru/xml/rss
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1311)
        at com.sun.syndication.io.XmlReader.<init>(XmlReader.java:237)
        at com.sun.syndication.io.XmlReader.<init>(XmlReader.java:213)
        at rssdaemonapp.ValidatorThread.run(ValidatorThread.java:32)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
Run Code Online (Sandbox Code Playgroud)

我不使用任何代理.我在我的PC和生产服务器上遇到此异常,并且只有此URL,其他URL正在运行.

java url rss ioexception rome

8
推荐指数
2
解决办法
3万
查看次数

如何读取当前使用的文件,就像Windows复制时一样?

我的一个应用程序旨在读取(并且只读取)可能正在使用的文件.

但是,当读取已经打开的文件(例如Microsoft Word)时,此应用程序会抛出System.IO.IOException:

该进程无法访问文件'<filename here>',因为它正由另一个进程使用.

用于读取文件的代码是:

using (Stream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete))
{
    // Do stuff here.
}
Run Code Online (Sandbox Code Playgroud)

当然,由于该文件已被使用,因此预计会出现此异常.

现在,如果我要求操作系统将文件复制到新位置,然后阅读它,它可以工作:

string tempFileName = Path.GetTempFileName();
File.Copy(fileName, tempFileName, true);
//                                         ? We read the newly created file.
using (Stream stream = new FileStream(tempFileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete))
{
    // Do stuff here.
}
Run Code Online (Sandbox Code Playgroud)

什么是魔术File.Copy允许读取应用程序已经使用的文件,特别是如何使用这个魔术来读取文件而不制作临时副本?

c# file-access ioexception

8
推荐指数
1
解决办法
1797
查看次数

为什么必须使用"throws IOException"

如果文件位于本地文件系统中,为什么在处理外部文件操作时必须在main方法中使用"throws IOException".

java ioexception

8
推荐指数
3
解决办法
6万
查看次数

如何创建抛出IOException的Java Iterator

我想实现一个从磁盘/网络中检索对象的迭代器.

Iterator itr = getRemoteIterator();
while(itr.hasNext()) {
    Object element = itr.next();
    System.out.print(element + " ");
}
Run Code Online (Sandbox Code Playgroud)

然而问题是,hasNext()next()该方法的迭代器对象不允许扔IOException.是否还有其他标准接口可以解决此问题?

期望的代码是:

public interface RemoteIterator<E> {
    boolean hasNext() throws IOException;
    E next() throws IOException;
    void remove();
}
Run Code Online (Sandbox Code Playgroud)

java iterator ioexception java-7

8
推荐指数
2
解决办法
3642
查看次数

是什么导致jobb工具抛出FAT Full IOException?

我正在尝试使用Android jobb工具为我的应用程序创建一个大型OBB文件,但我受到"FAT Full"IOException的困扰:

java.io.IOException: FAT Full (XXXX, YYYY)
    at de.waldheinz.fs.fat.Fat.allocNew(Fat.java:298)
    at de.waldheinz.fs.fat.Fat.allocAppend(Fat.java:376)
    at de.waldheinz.fs.fat.ClusterChain.setChainLength(ClusterChain.java:175)
    at de.waldheinz.fs.fat.ClusterChain.setSize(ClusterChain.java:132)
    at de.waldheinz.fs.fat.FatFile.setLength(FatFile.java:91)
    at de.waldheinz.fs.fat.FatFile.write(FatFile.java:154)
    at com.android.jobb.Main$1.processFile(Main.java:495)
    at com.android.jobb.Main.processAllFiles(Main.java:604)
    at com.android.jobb.Main.processAllFiles(Main.java:600)
    at com.android.jobb.Main.main(Main.java:417)
Exception in thread "main" java.lang.RuntimeException: Error getting/writing file with name: LAST_PROCESSED_FILE
    at com.android.jobb.Main$1.processFile(Main.java:501)
    at com.android.jobb.Main.processAllFiles(Main.java:604)
    at com.android.jobb.Main.processAllFiles(Main.java:600)
    at com.android.jobb.Main.main(Main.java:417)
Run Code Online (Sandbox Code Playgroud)

在上面的错误消息中,XXXX总是打印为一个低于YYYY的整数值,并且代表可用"簇"的数量(我对存储术语的了解不足以确切知道这意味着什么).YYYY代表最后一个成功分配的集群索引,根据我的经验,它始终与最后一个可用的集群索引相同(数组的大小为XXXX + 2,因此XXXX + 1与YYYY相同是最后一个可用的索引).

崩溃似乎出现在总文件大小超过511 MB的位置(实际限制为536,193,820字节,单个字节更多导致溢出!),因此LAST_PROCESSED_FILE相当任意,但它列出了正在处理的文件发生了崩溃.鉴于存储格式是FAT16(据我所知),那么最大文件大小不应该是2 GB吗?

我已经通过各种来源阅读了空的或小的目录或文件,小的总文件大小或超过500 MB的目录中的单个文件可能导致此崩溃(尽管我无法确定原因).这些原因都不适用于我的情况(这也是基于总文件大小).

我自己对jobb工具源的评论没有提供任何见解.任何人都可以棚任何光线在这个问题上?

android ioexception

8
推荐指数
1
解决办法
2570
查看次数

写入服务器时出错

我正在使用Java程序"POST"方法将文件从一台服务器上传到另一台服务器.但我得到的是异常.

java.io.IOException: Error writing to server
    at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:582)
    at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:594)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1216)
    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
    at com.test.rest.HttpURLConnectionExample.TransferFile(HttpURLConnectionExample.java:107)
    at com.test.rest.HttpURLConnectionExample.main(HttpURLConnectionExample.java:44)
Run Code Online (Sandbox Code Playgroud)

我有其他方法将与服务器进行身份验证.这将从下面的代码中调用.当我从服务器得到响应时,我正在超越异常.要将文件传输到服务器,我已经写了下面的方法.我的示例代码如下:

public static void TransferFile(){
        String urlStr = "http://192.168.0.8:8600/audiofile?path=1/622080256/virtualhaircut.mp3";
        File tempFile = new File("/home/MyPath/Workspace/Sample/virtualhaircut.mp3");
        BufferedWriter br=null;
        HttpURLConnection conn = null;
        URL url;
        try {
            url = new URL(urlStr);
            AuthenticationUser();
            conn = (HttpURLConnection) url.openConnection();
            conn.setDoOutput(true);
            conn.setRequestMethod("POST");

            conn.setRequestProperty("Content-Type", new MimetypesFileTypeMap().getContentType(tempFile.getName()));
        } catch (MalformedURLException e1) {
            System.out.println("Malformed");
            e1.printStackTrace();
        } catch (ProtocolException e) {
            System.out.println("Protocol");
            e.printStackTrace();
        } catch (IOException e) {
            System.out.println("IO");
            e.printStackTrace();
        }

        System.out.println("line 69"); …
Run Code Online (Sandbox Code Playgroud)

java post file-upload ioexception

8
推荐指数
1
解决办法
1万
查看次数

Spring websocket heartbeat Broken pipe IOException

我使用spring-boot-starter-websocket和spring boot 1.5.3.RELEASE当sockjs试图执行心跳时,我得到大量日志任务不知怎的,连接丢失了. 这篇文章说它已关闭(根据JIRA),但我仍然遇到同样的问题

这是我的配置

@Configuration 
@EnableWebSocketMessageBroker 
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

            @Bean
            WebSocketHandler getWsHandler() {
                return new WebSocketHandler();
            }

            @Override
            public void configureMessageBroker(MessageBrokerRegistry config) {
                config.enableSimpleBroker("/topic");
            }

            @Override
            public void registerStompEndpoints(StompEndpointRegistry registry) {
                registry.addEndpoint("/ws").setAllowedOrigins("*").withSockJS();
            } }
Run Code Online (Sandbox Code Playgroud)

这是日志

2017-07-11 15:10:23.753 INFO 7574 --- [MessageBroker-4] o.apache.coyote.http11.Http11Processor:在非容器线程上处理时发生错误.连接将立即关闭

java.io.IOException:sun.nio.ch.FileDispatcherImpl.write0(本机方法)〜[na:1.8.0]在sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)〜[na :1.8.0] at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)〜[na:1.8.0] at sun.nio.ch.IOUtil.write(IOUtil.java:65)〜[na :1.8.0] at .nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:466)〜[na:1.8.0] at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:134 )〜[tomcat-embed-core-8.5.14.jar:8.5.14]在org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101)〜[tomcat-embed-core-8.5. 14.jar:8.5.14]在org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:157)〜[tomcat-embed-core-8.5.14.jar:8.5.14] at org. org.apache.tomcat.util.net.SocketWrapperBase上的apache.tomcat.util.net.NioEndpoint $ NioSocketWrapper.doWrite(NioEndpoint.java:1259)~ [tomcat-embed-core-8.5.14.jar:8.5.14] org.apache.tomcat中的.doWrite(SocketWrapperBase.java:670)~ [tomcat-embed-core-8.5.14.jar:8.5.14] .util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java:607)〜[tomcat-embed-core-8.5.14.jar:8.5.14] at org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase. java:597)〜[tomcat-embed-core-8.5.14.jar:8.5.14] at org.apache.coyote.http11.Http11OutputBuffer.flushBuffer(Http11OutputBuffer.java:581)~ [tomcat-embed-core-8.5 .14.jar:8.5.14]在org.apache的org.apache.coyote.http11.Http11OutputBuffer.flush(Http11OutputBuffer.java:272)〜[tomcat-embed-core-8.5.14.jar:8.5.14] orco.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:279) 〜[tomcat-embed-core-8.5.14.jar:8.5.14] …

java spring broken-pipe ioexception websocket

8
推荐指数
0
解决办法
1055
查看次数

正在删除google-services json文件

实际上我错误地在我当前的android .So项目中粘贴了另一个项目的google-services json文件,在构建应用程序时,我收到错误没有找到包'com.mybidu.www'的匹配客户端.我试图删除该文件,但它给出错误'Java IO Exception无法删除google-services.json'也不允许我覆盖同一个文件.我该怎么办 ?

android ioexception firebase firebase-cloud-messaging

8
推荐指数
3
解决办法
9660
查看次数

请求密钥时发生IOException:设备密钥响应无效

我正在使用带有谷歌物联网的Pi 3来操作一些控制灌溉系统阀门的继电器.该系统使用互联网获取天气预报以使用多少水,并使用NanoHTTPD提供UI.

它运行得很好,但偶尔我会收到一个错误,它会阻止整个事情.从日志文件:

05-04 05:26:14.677 737-1077/com.google.android.gms.persistent W/Conscrypt: Could not set socket write timeout:
05-04 05:26:14.678 737-1077/com.google.android.gms.persistent W/Conscrypt:    java.lang.reflect.Method.invoke(Native Method)
       com.google.android.gms.org.conscrypt.Platform.setSocketWriteTimeout(:com.google.android.gms@11973330:13)
05-04 05:26:14.798 737-1077/com.google.android.gms.persistent W/Conscrypt: Could not set socket write timeout:
05-04 05:26:14.799 737-1077/com.google.android.gms.persistent W/Conscrypt:    java.lang.reflect.Method.invoke(Native Method)
       com.google.android.gms.org.conscrypt.Platform.setSocketWriteTimeout(:com.google.android.gms@11973330:13)
05-04 05:26:14.914 737-1077/com.google.android.gms.persistent W/GLSUser: [AppCertManager] IOException while requesting key: 
    java.io.IOException: Invalid device key response.
        at fmk.a(:com.google.android.gms@11973330:12)
        at fmk.a(:com.google.android.gms@11973330:64)
        at fmi.a(:com.google.android.gms@11973330:8)
        at fme.a(:com.google.android.gms@11973330:1)
        at fmd.a(:com.google.android.gms@11973330:10)
        at com.google.android.gms.auth.account.be.legacy.AuthCronChimeraService.b(:com.google.android.gms@11973330:7)
        at ers.call(:com.google.android.gms@11973330:3)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at kfr.run(:com.google.android.gms@11973330:26)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at kku.run(Unknown Source:7)
        at java.lang.Thread.run(Thread.java:764)
Run Code Online (Sandbox Code Playgroud)

我很欣赏一些如何阻止这种情况发生的暗示.

谢谢.

ioexception

8
推荐指数
1
解决办法
4539
查看次数