天道酬勤,学无止境

fileoutputstream

How do I write to a YAML file using SnakeYaml?

Consider the following code: public static void dumpObjectToYaml(String key, Object O, String path) throws IOException { Map<String, Object> data = new HashMap<>(); data.put(key, O); File F = new File(path); F.mkdirs(); F.createNewFile(); //write data to File } This method is aiming to write the given Object O at the given key, into the YAML file at the given path. (if it doesn't exist it is created.) But obviously the main part is still missing. Now following the documentation of SnakeYaml, to create a YAML I only need to create a map and put in the Objects at the right keys, which I did. But

2021-06-13 11:35:53    分类:问答    java   file   output   fileoutputstream   snakeyaml

why sometime it throws FileNotFoundException

The code works for most of the time, but some time it throws exception. Couldn't figure out what could cause it. What is does is to create a file at /storage/emulated/0/Download/theFileName.jpg and write data to it (from sourceFile which does exist), but got "file not exist" exception for the newly created file. (it does have uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE", and uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" in manifest). File sourceFile = new File(theSourceFileFullPath); if (sourceFile.exists()) { File downloadDirectory =

2021-06-13 06:40:01    分类:问答    android   filenotfoundexception   fileoutputstream

java.io.StreamCorruptedException:读取超过 1 个对象时格式错误 [重复](java.io.StreamCorruptedException: Wrong format when reading more than 1 object [duplicate])

问题 这个问题在这里已经有了答案: StreamCorruptedException:无效的类型代码:AC (1 个回答) 3年前关闭。 我试图在每次单击按钮时将一个对象( OneChatMessage类)添加到文件中。 然后我尝试从文件中读取所有对象并将其加载到ArrayList 。 但是我在反序列化函数中ObjectInputStream.readObject()的第二次迭代中得到一个StreamCorruptedException 。 我已经验证第一次迭代工作正常。 我已经阅读了许多关于同一问题的其他帖子: 一个建议(反序列化多个 Java 对象)是将整个数组列表而不是单个对象写入文件。 但这似乎很浪费,因为我需要在每次单击按钮时写入文件,而且随着时间的推移会有数百个对象。 另一个建议(StreamCorruptedException:无效类型代码:AC)是与 ObjectOutputStream 创建的不同标头有关。 我不知道该由谁来使用这些知识来解决问题。 关于如何解决这个问题的任何想法? OneChatMessage.java : package com.slapp.chat; import java.io.Serializable; import java.util.Date; import com.slapp.localDB.Contact; //This

2021-06-12 03:21:15    分类:技术分享    java   android   fileinputstream   fileoutputstream   objectinputstream

What's the difference between Serialization and simply store the object on disk?

I am confused about this. Since when doing implementation of Serializable class, we need to use classes like FileOutputStream, ObjectOutputStream or something like that. Then why not we just use those classes to do things like output a object to a file and input a object from a file to maintain the status of a object directly? Why should we first implement Serializable and then do the same thing?

2021-06-03 10:01:22    分类:问答    java   serialization   serializable   fileoutputstream   objectoutputstream

Java FileOutputStream:相对于程序文件夹的路径?(Java FileOutputStream: path relative to program folder?)

问题 查找相对于“安装”Java 应用程序的文件夹的路径的最佳方法是什么? 我有一个带有静态方法的类: public static void saveToFile(String fileName) 当我用绝对路径调用它时,它可以工作,但我真正想要的是运行应用程序的相对路径和文件夹。 我还没有部署我的应用程序,但现在我想找到一个相对于(Netbeans)项目根目录的路径,以及一个名为 data 的文件夹: ProjectName\data\file.dat 。 我应该使用File类还是将它变成一个URI或其他东西? 请注意,我更喜欢它独立于系统,并且在部署应用程序时仍然可以工作。 最终(相对)路径名将存储在属性文件中。 对不起,如果这个问题是重复的,任何帮助表示赞赏。 回答1 查找相对于“安装”Java 应用程序的文件夹的路径的最佳方法是什么? 长期以来,操作系统制造商一直在说不要在应用程序目录中保存文件。 请注意,我更喜欢它独立于系统,并且在部署应用程序时仍然可以工作。 而是将File放在user.home sub-directory中。 用户家是应该可以建立可以读取或写入的文件对象的地方。 它也是一个可以跨运行重现的地方,并且与平台无关。 回答2 如果您部署为 jar,则可以获得当前代码工作的 jar 文件名和路径,如下所示: new File(MyClass.class

2021-06-02 00:04:13    分类:技术分享    java   file   path   fileoutputstream

How to overwrite/reuse the existing output path for Hadoop jobs again and agian

I want to overwrite/reuse the existing output directory when I run my Hadoop job daily. Actually the output directory will store summarized output of each day's job run results. If I specify the same output directory it gives the error "output directory already exists". How to bypass this validation?

2021-06-01 08:31:40    分类:问答    hadoop   rewrite   fileoutputstream

使用Java从FileOutputStream创建和写入文件(Creating and writing file from a FileOutputStream in Java)

问题 好的,所以我正在开发一个项目,在该项目中,我使用Java程序来初始化两个类( FileSender和FileReceiver )之间的套接字连接。 我的基本想法是FileSender看起来像这样: try { writer = new DataOutputStream(connect.getOutputStream()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //While we have bytes to send while(filein.available() >0){ //We write them out to our buffer writer.write(filein.read(outBuffer)); writer.flush(); } //Then close our filein filein.close(); //And then our socket; connect.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); 构造函数包含用于检查文件是否存在以及套接字是否已连接等的代码。

2021-06-01 01:00:01    分类:技术分享    java   file-io   fileoutputstream

如何让用户访问应用程序的内部存储目录?(How can I let users access the internal storage directory of my app?)

问题 我的应用程序将文件存储在其内部存储目录(/Android/data/com.mycompany.myapp/files,由getFilesDir()返回)中,我希望允许用户直接从其上的文件管理应用程序访问这些文件移动设备或Android File Transfer桌面应用程序。 Storage Options开发人员指南说: 默认情况下,保存到内部存储器的文件是您的应用程序专用的,其他应用程序无法访问它们(用户也不能访问它们)。 “默认”表示我可以更改默认权限以允许用户访问这些文件,但是找不到有关如何执行此操作的任何文档。 当前,当我使用文件管理应用程序浏览/ Android / data目录时,com.mycompany.myapp目录处于隐藏状态。 我目前正在保存文件数据,如下所示: String fileName = "myfile.jpg"; String filePath = getFilesDir() + File.separator + fileName; FileOutputStream fileStream = new FileOutputStream(filePath); fileData.writeTo(fileStream); // fileData is a ByteArrayOutputStream fileStream.close()

2021-05-31 21:45:22    分类:技术分享    android   file-permissions   fileoutputstream

OutputStreamWriter不追加(OutputStreamWriter does not append)

问题 原始代码及其将数据保存到SD卡的工作 // Writing data to internal storage btnSaveData.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (isSDCardWritable()) { String dataToSave = etData.getText().toString(); try { // SD Card Storage File sdCard = Environment.getExternalStorageDirectory(); File directory = new File(sdCard.getAbsolutePath()+"/MyFiles"); directory.mkdirs(); File file = new File(directory, "text.txt"); FileOutputStream fos = new FileOutputStream(file); OutputStreamWriter osw = new OutputStreamWriter(fos); // write the string to the file osw.write

2021-05-31 20:36:18    分类:技术分享    android   text-files   android-sdcard   fileoutputstream

Android - downloading image from web, saving to internal memory in location private to app, displaying for list item

What I'm trying to do is this: I want my application to download an image from the Internet and save it to the phone's internal memory in a location that is private to the application. If there is no image available for the list item (i.e. it can't be found on the Internet), I want a default placeholder image to display. This is the image that I have defined in my list_item_row.xml file as the default. In my ListActivity file, I am calling an instance of a CustomCursorAdapter class I have written. It is in CustomCursorAdapter where I am iterating through all the list items and defining what

2021-05-25 06:28:25    分类:问答    java   android   save   inputstream   fileoutputstream