小编Axe*_*ini的帖子

Java FileWriter没有写入文件

我正在创建一个应用程序,它需要为每个用户编写一个文件(采用JSON格式).

该应用程序成功创建了该文件,但它是空的.在代码中我添加了一个更精细的输出,以查看转换后的JSON字符串是什么样的,我注意到它已完成(它包含所有内容,因此转换正常).但该字符串不存在于文件中.

//create a new FileWriter C:/.../42.guser
        FileWriter writer = null;

        //for every User
        for(int i=0; i<users.size(); i++) {

            try {
                File f = new File(Users.usersDir.getPath()+"/"+i+".guser");

                //Create new file
                f.createNewFile();

                writer = new FileWriter(f);

                //convert to json and write to file. Here we get the object with KEY = keys[i].
                String stringedUsr = gson.toJson(users.get(keys[i]));

                logger.finer("Converted user: \""+stringedUsr+"\""); //Output seems ok

                //Write (NOT WORKING)
                writer.write(stringedUsr);

                logger.fine("Wrote updated user \""+keys[i]+"\" to file "+f.getCanonicalPath());

            } catch (IOException e) {
                FAILS++;
                e.printStackTrace();
            }

        } …
Run Code Online (Sandbox Code Playgroud)

java json filewriter is-empty

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

从Android,无法连接到我的Java ServerSocket

我是Java的初学者,我想在台式PC上创建服务器(运行外部IP地址,已验证),并在带有CM11的Samsung Galaxy S3上创建客户端。在服务器上:我在端口6666上创建了一个ServerSocket(不要问为什么),并在while()中创建了Socket(server = .accept();)。

在客户端上:我创建了一个Socket客户端(client = new Socket(HostName,port);),并将其放置在try {} catch(){}中:如果连接失败,应用程序将显示在TextView“服务器已关闭进行维护”。

错误:我什至无法连接到我的服务器,但是外部IP可以通过终端仿真器进行ping操作...我不知道为什么。我的客户端,服务器上是否有错误,还是我需要在清单(android)中添加权限?(应用运行时,Android不会在控制台中返回任何错误)-

任何的想法?这就是为什么我不想显示应用程序的名称。

服务器:

    package <HIDDEN>;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;

public class MainClass {
    public static final String version ="0.1A";
    public static final int port = 6666;
    private static ServerSocket Service;
    private static DataInputStream fromClient;
    private static DataOutputStream toClient;
    private static Socket server;
    static InetAddress Host;

    public static void main(String[] args)  {

        System.out.println("Welcome to <HIDDEN>'s Server! Version ## "+version+" ##");



        try { …
Run Code Online (Sandbox Code Playgroud)

java sockets android connect

0
推荐指数
1
解决办法
1021
查看次数

标签 统计

java ×2

android ×1

connect ×1

filewriter ×1

is-empty ×1

json ×1

sockets ×1