Questions tagged «io»

在计算中,输入/输出或I / O是指信息处理系统(例如计算机)与外界(可能是人类)或其他信息处理系统之间的通信。

4
如何以编程方式获取资源目录路径
我有以下目录布局: src 主要 爪哇 资源 sql(数据库脚本) 弹簧(配置) 网络应用 在ServletContextListener类中,我想访问SQL目录下的文件并列出它们。基本上,我的问题是路径,因为我知道简而言之列出目录下的文件是: File folder = new File(path); File[] listOfFiles = folder.listFiles(); 也许我可以使用ServletContextEventObject尝试建立路径resources/sql public void contextInitialized(ServletContextEvent event) { event.getServletContext(); //(getRealPath etc.) } 是否存在以相对的非硬编码方式设置该路径的方法?像new File("classpath:sql")(如果可能的话最好是spring)之类的东西,或者我应该如何处理ServletContext指向resources/sql?
86 java  spring  io 

9
在Python中编辑文本文件中的特定行
假设我有一个包含以下内容的文本文件: Dan Warrior 500 1 0 有什么办法可以编辑该文本文件中的特定行?现在我有这个: #!/usr/bin/env python import io myfile = open('stats.txt', 'r') dan = myfile.readline() print dan print "Your name: " + dan.split('\n')[0] try: myfile = open('stats.txt', 'a') myfile.writelines('Mage')[1] except IOError: myfile.close() finally: myfile.close() 是的,我知道那myfile.writelines('Mage')[1]是不正确的。但是你明白我的意思吧?我正在尝试通过用法师替换战士来编辑第2行。但是我什至可以那样做吗?
86 python  io 



8
将Scala分配评估为单位而不是赋值的动机是什么?
将Scala分配评估为单位而不是赋值的动机是什么? I / O编程中的常见模式是执行以下操作: while ((bytesRead = in.read(buffer)) != -1) { ... 但这在Scala中是不可能的,因为... bytesRead = in.read(buffer) ..返回Unit,而不是bytesRead的新值。 忽略功能性语言似乎是一件有趣的事情。我想知道为什么要这么做吗?

5
从OutputStream创建InputStream的最有效方法
此页面:http : //blog.ostermiller.org/convert-java-outputstream-inputstream 描述如何从OutputStream创建InputStream: new ByteArrayInputStream(out.toByteArray()) 其他选择是使用PipedStreams和新线程,这很麻烦。 我不喜欢将许多兆字节复制到新的内存字节数组中的想法。是否有一个图书馆可以更有效地做到这一点? 编辑: 根据劳伦斯·贡萨尔维斯(Laurence Gonsalves)的建议,我尝试了PipedStreams,结果发现它们并不难处理。这是clojure中的示例代码: (defn #^PipedInputStream create-pdf-stream [pdf-info] (let [in-stream (new PipedInputStream) out-stream (PipedOutputStream. in-stream)] (.start (Thread. #(;Here you write into out-stream))) in-stream))

2
缓冲与无缓冲IO
我了解到,默认情况下,程序中的I / O是经过缓冲的,即它们是从临时存储提供给请求程序的。我知道缓冲可以提高IO性能(也许通过减少系统调用)。我已经看到了禁用缓冲的示例,例如setvbuf在C语言中。这两种模式之间有什么区别?什么时候应该在另一种之上使用?

3
Java:NIO和NIO.2之间到底有什么区别?
我不太了解它们之间的区别,因此我对这两个软件包有一些疑问。 在Google上浏览了一下之后,似乎Oracle决定使用JDK7版本NIO的更新和增强NIO.2软件包来更新该软件包。 NIO封装的性能与封装相比如何NIO.2? 从NIO到有NIO.2什么大变化?(例如新方法,功能) 为什么NIO必须对原始软件包进行更新? 如今是NIO.2该NIO软件包的代名词吗? 这并不是我想在代码中使用旧版包,我对此真的很好奇。请告诉我他们的区别?
83 java  io  nio  difference 

4
从流中获取TextReader?
我正在尝试使用读取嵌入式文本文件,System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(resource);但它给了我一个Stream。嵌入式资源是一个文本文件,因此如何将其Stream转换为TextReader?
81 c#  .net  io 

2
Haskell“不执行任何操作” IO,或者如果不执行其他操作
我想在Haskell中执行以下操作: main1 = do s <- getLine if s == "foo" then putStr "You entered foo" 显然这是不合法的,因为那里没有else。我想到的另一种选择: nop :: IO () nop = sequence_ [] main2 = do s <- getLine if s == "foo" then putStr "You entered foo" else nop 这有点冗长,但是如有必要,我会解决的。如果没有的内置版本,我会感到惊讶nop。 或者: doIf :: Bool -> IO () …
80 haskell  syntax  io 

2
>&是什么意思?
这个表达让我有些困惑: gcc -c -g program.c >& compiler.txt 我知道&>filename会将stdout和stderr都重定向到file filename。但是在这种情况下,“&”号在大于号之后。它看起来像形式M>&N,其中M和N是文件描述符。 在上面的代码段中,是M=1和N='compiler.txt'吗?与以下内容有何不同? gcc -c -g program.c > compiler.txt (ampersand removed) 我的理解是,每个打开的文件都与一个大于2的文件描述符相关联。这正确吗? 如果是这样,文件名是否可以与其作为重定向目标的文件描述符互换?

3
二进制流中的open和io.BytesIO之间的区别
我正在学习有关在Python中使用流的知识,并且我注意到IO文档说以下内容: 创建二进制流的最简单方法是使用open()在模式字符串中使用'b': f = open("myfile.jpg", "rb") 内存中的二进制流也可以作为BytesIO对象使用: f = io.BytesIO(b"some initial binary data: \x00\x01") f由open和f定义之间有什么区别BytesIO。换句话说,什么使“内存中的二进制流”与它有什么不同open?
79 python  io  stream 


6
在python项目中使用相对路径读取文件
说我有一个Python项目,其结构如下: project /data test.csv /package __init__.py module.py main.py __init__.py: from .module import test module.py: import csv with open("..data/test.csv") as f: test = [line for line in csv.reader(f)] main.py: import package print(package.test) 当我运行时main.py,出现以下错误: C:\Users\Patrick\Desktop\project>python main.py Traceback (most recent call last): File "main.py", line 1, in <module> import package File "C:\Users\Patrick\Desktop\project\package\__init__.py", line …

9
等待文件完全写入
在一个目录中创建文件(FileSystemWatcher_Created)后,我将其复制到另一个目录。但是,当我创建一个较大的文件(> 10MB)时,它无法复制文件,因为它已经开始复制,而文件还没有完成创建。 这导致无法复制文件,因为它被另一个进程使用。提高。;(有 什么帮助吗? class Program { static void Main(string[] args) { string path = @"D:\levan\FolderListenerTest\ListenedFolder"; FileSystemWatcher listener; listener = new FileSystemWatcher(path); listener.Created += new FileSystemEventHandler(listener_Created); listener.EnableRaisingEvents = true; while (Console.ReadLine() != "exit") ; } public static void listener_Created(object sender, FileSystemEventArgs e) { Console.WriteLine ( "File Created:\n" + "ChangeType: " …
77 c#  file  io  filesystems  copy 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.