try-with-resources相关内容
Sonar Qube给我以下错误 使用TRY-WITH-RESOURCES或在“Finally”子句中关闭此“Stream” List paths = find(Paths.get(nasProps.getUpstreamOutputDirectory() + File.separator + inputSource.concat("_").concat(contentGr
..
从 try-with-resource 语句返回输入流以在调用者使用后处理流的关闭是否安全? public static InputStream example() throws IOException {...尝试(输入流是 = ...){回报是;}} 解决方案 是安全的,但是会被关闭,所以我觉得不是特别有用...(不能重新打开关闭的流.) 看这个例子: public static
..
我想知道在 try-with-resources 块中放置 return 语句是否会阻止资源自动关闭. try(Connection conn = ...) {返回 conn.createStatement().execute("...");} 如果我写这样的东西,Connection 会被关闭吗?在 Oracle 文档中指出: try-with-resources 语句确保每个资源在语
..
Sonar 给出了一个错误,提示该 FileOutputStream 应该被关闭.我需要修改以下代码以使用 try-with-resources.我该怎么做? public void archiveTheFile(String zipFile){字节[]缓冲区=新字节[1024];尝试{FileOutputStream fos = new FileOutputStream(zipFile);Zi
..
以下代码是否需要包含在 try-with-resources 中以确保关闭底层文件? List行 = Files.lines(inputFilePath).collect(Collectors.toList()); 解决方案 作为重载的javadoc Files#lines(Path, Charset) 方法状态 返回的流封装了一个Reader.如果及时处理文件需要系统资源,try-w
..
如何将创建/接收连接、查询数据库和可能处理结果的常用 JDBC 习惯用法与 Java 7 的自动资源管理(try-with-resources 语句)集成?(教程) 在 Java 7 之前,通常的模式是这样的: Connection con = null;PreparedStatement prep = null;尝试{con = getConnection();prep = prep.p
..
我知道,如果资源实现了 AutoCloseable,您尝试传递的资源将自动关闭.到现在为止还挺好.但是当我有几个想要自动关闭的资源时,我该怎么办.套接字示例; try (Socket socket = new Socket()) {input = new DataInputStream(socket.getInputStream());output = new DataOutputStream(
..
当我尝试在 Kotlin 中编写 Java try-with-resources 代码的等效代码时,它对我不起作用. 我尝试了以下不同的变体: try (writer = OutputStreamWriter(r.getOutputStream())) {//...} 但两者都不起作用. 有谁知道应该用什么代替?显然 Kotlin 语法 没有定义这样的结构,但也许我错过了某物.它定
..
Java 7 有一个名为 尝试使用资源.它是什么?为什么以及我们应该在何处使用它以及我们可以在何处利用此功能? try 语句没有让我困惑的 catch 块. 解决方案 引入它是因为 Java 中使用的某些资源(如 SQL 连接或流)难以正确处理;例如,在 Java 6 中,要正确处理 InputStream,您必须执行以下操作: InputStream stream = new M
..
我一直在查看代码,并且看到了对资源的尝试.我以前使用过标准的 try-catch 语句,看起来它们做同样的事情.所以我的问题是尝试使用资源与尝试捕获它们之间有什么区别,哪个更好. 这是对资源的尝试: objects jar = new objects("brand");对象可以=新对象(“品牌");试试 (FileOutputStream outStream = new FileOutpu
..
我有一种使用 JDBC 从数据库中获取用户的方法: public ListgetUser(int userId) {String sql = "SELECT id, name FROM users WHERE id = ?";列表用户 = 新的 ArrayList();尝试 {连接 con = DriverManager.getConnection(myConnectionURL);Prepar
..
尽管 try-with-resources 功能本身可以处理 AutoClosable 对象的所有功能,但我在最近的项目中遇到了一些特定情况. 我正在使用以下文件读取文件: try(InputStream stream = loader.getResourceAsStream(“remote-config.xml")) 问题是我读取上述文件的路径错误.因此,我预计会出现“File
..
我的目标是在try-catch块中自动关闭 Socket 和 OutputStream . 在通过Java搜索和学习 try-with-resouce 之后,我最终使用了 use {} .但是,似乎无法避免嵌套 use {} : 暂停有趣的print():LoadingStatus {var status = LoadingStatus.LOADINGwithContext(Dispatc
..
参考我的问题我想知道为什么try-with-resource-statement根本需要一个 named 局部变量. java.util.concurrent.locks.Lock的AutoCloseable包装器有任何风险吗?/p> 我当前的用法如下: try(AutoCloseableReentrantReadWiteLock.Lock l = _lock.writeLock()){//
..
从try-with-resource语句返回输入流以在调用方消耗掉它之后处理该流的关闭是否安全? 公共静态InputStream example()引发IOException {...尝试(InputStream是= ...){返回是}} 解决方案 它很安全,但是将关闭,因此我认为它不是特别有用...(您无法重新打开关闭的流.) 请参见以下示例: public static vo
..
我正在全局初始化一个准备好的语句(因此它不会在每次运行函数时都进行预编译,只有在加载应用程序时才进行预编译),并尝试在资源中尝试使用prepareed语句,但是它显示了一个“未知类别"错误.这是代码: private PreparedStatement ingredientDelete; public void deleteIngredient(String name) { try
..
我正在尝试创建一个集中的类来连接并返回SQL查询的ResultSet,这样我就不必总是在每次尝试获取查询时都创建一个新的连接. 我正在使用try-with-resources,但是,每当使用try-with-resources时都会出现编译时错误,我不知道为什么? public class JDBC { // logger declaration is omitted
..
这个新的Java 7 try-with-resources构造非常好.或者至少, 很好,直到出现异常情况并破坏了我的一天. 我终于设法将其简化为可重现的测试,该测试只使用JUnit + jMock. @Test public void testAddSuppressedIssue() throws Exception { Mockery mockery = new Mocker
..
使用资源实现try时,我通过try语句()中的Scanner sc = new Scanner(System.in)创建一个Scanner对象. 在try块中,我提示用户输入一个数值,通过sc.nextLine()读取它,并利用parseDouble将其转换为方法. 如果最初输入的值无效,我会利用do-while循环再次提示用户输入值. 但是,如果用户输入一个无效值,则会关闭输入流,并捕获N
..
作为学校的一项练习,我用Java编写了一种在文件中搜索字符的方法.这是代码: public static void countLetter(char needle, String hayStack) throws IOException { File f = new File(hayStack);
..