我将在目录中拥有大量文件.我将使用文件名File.getName()
并将其记录到日志文件中.我认为,我不需要关闭文件,因为我没有在其中进行任何读/写操作.
它是否正确?
在我的应用程序中,一个hibernate操作就像这样.应用程序使用请求中的新值更新父实体,并删除所有现有(先前插入的)子实体并插入新的子记录.
我正在使用冬眠DELETE_ORPHAN
,如下所示.
当我这样做时,我得到以下异常:
org.hibernate.HibernateException:拥有实体实例不再引用cascade ="all-delete-orphan"的集合:com.childs
我看到了与问题类似的线程,我试图在这些线程中应用解决方案.但那没用
我的父实体
public class Parent implements Serializable {
@Column(name = "PARENT_ID")
@Basic(fetch = FetchType.EAGER)
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq")
@SequenceGenerator(name = "seq", sequenceName = "seq")
private Integer parentId; //primary key of parent
.......
........
//mapping to child entity
@OneToMany(mappedBy = "parent", cascade = { CascadeType.ALL }, fetch = FetchType.LAZY)
@Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
private Set<Child> childs;
................
...............
}
Run Code Online (Sandbox Code Playgroud)
子实体具有组合键,并且具有PK实体,如下所示
public class ChildPK implements Serializable {
/** The Constant serialVersionUID. */
private static final …
Run Code Online (Sandbox Code Playgroud) 我需要获取具有特定扩展名(例如.txt)的目录中的所有文件.我应该能够列出所有具有'.txt'和'.TXT'扩展名的文件(即,它应该不区分大小写).我为此编写了以下课程.为了达到这个目的,我应该在下面的课程中做些什么改变?
class OnlyExt implements FilenameFilter {
String ext;
public OnlyExt(String ext) {
this.ext = "." + ext;
}
public boolean accept(File dir, String name) {
return name.endsWith(ext);
}
}
Run Code Online (Sandbox Code Playgroud)
好吧,我试过name.toLowerCase().endsWith(ext);
了accept()
,但那没用.
提前致谢.
我正在使用org.apache.commons.net.ftp
远程机器下载文件.有一种方法可以将文件读取到FileOutputStream
对象中.
ftpClient.retrieveFile("/" + ftpFile.getName(), fos);
Run Code Online (Sandbox Code Playgroud)
问题,这是,我有另一个接受File
对象的方法.所以,我需要创建一个File
目标文件FileOutputStream
.我想,我需要创建一个InputStream
能够从中创建文件对象FileOutputStream
.它是否正确?我可能会遗漏一些东西,应该有一个简单的方法来创建File
一个FileOutputStream
?