小编Wil*_*ice的帖子

Java:无法对打开用户映射部分的文件执行操作

我正在用 LibGDX 开发一个游戏,我已经在少数计算机和各种操作系统上成功地测试了它。我将其发送给我的朋友进行测试,当游戏尝试保存时,他收到了这个神秘的错误。

系列活动如下:

- 游戏使用 Gdx.files.local(path).readString() 打开现有的保存文件

-LibGDX 的 readString 完成后关闭文件。我已经通过检查来源进行了验证。该文件永远不会再次打开。

- 一段时间后,游戏尝试覆盖文件,并收到以下错误。

java.io.FileNotFoundException: save.dat (The requested operation cannot be performed on a file with a user-mapped section open)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileWriter.<init>(Unknown Source)
at engine.Data.writeFile(Data.java:60)
Run Code Online (Sandbox Code Playgroud)

writeFile 定义如下。第 60 行是“新 FileWriter”行。(为清楚起见,省略了日志记录)

public static boolean writeFile(String filename, String data) {
    boolean success = false;

    try {
        FileWriter fw = new FileWriter(filename);
        try {
            fw.write(data);
            success = true;
        } catch(Exception e) {
            success = …
Run Code Online (Sandbox Code Playgroud)

java libgdx

5
推荐指数
0
解决办法
4395
查看次数

luaL_dostring什么都不放在堆栈上?

我正在尝试学习Lua与C++接口的基础知识,但我遇到了一个问题.我想调用一个返回字符串的函数,然后使用C++端的字符串,但是luaL_dostring似乎没有在Lua堆栈上放任何东西.

即使是简单的测试似乎也不能正常工作:

lua_State* lua = lua_open();
luaL_openlibs(lua);

//Test dostring.
luaL_dostring(lua, "return 'derp'");

int top = lua_gettop(lua);
cout << "stack top is " <<top << endl;

//Next, test pushstring.
lua_pushstring(lua, "derp");

top = lua_gettop(lua);
cout << "stack top is " << top << endl;
Run Code Online (Sandbox Code Playgroud)

输出:

stack top is 0
stack top is 1
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c++ lua lua-c++-connection

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

标签 统计

c++ ×1

java ×1

libgdx ×1

lua ×1

lua-c++-connection ×1