Variables 编写流Prolog的另一种方法

Variables 编写流Prolog的另一种方法,variables,stream,prolog,Variables,Stream,Prolog,我正在寻找一种替代方法,以txt或其他文本格式打印prolog变量;或者把局部变量保存在某个地方。我已经使用了Write-Stream,但是我遇到了一些问题,所以我希望有另一种方法可以做到这一点 例如: ask(Q, Answer) :- open('text8.txt',write,Stream), write(Stream,Q), write(Stream,'?\nEnd'), close(Stream). 您遇到了什么问题?txt流在prolog中运行良好,但对于特定的函数

我正在寻找一种替代方法,以txt或其他文本格式打印prolog变量;或者把局部变量保存在某个地方。我已经使用了Write-Stream,但是我遇到了一些问题,所以我希望有另一种方法可以做到这一点

例如:

ask(Q, Answer) :-
  open('text8.txt',write,Stream),
  write(Stream,Q), 
  write(Stream,'?\nEnd'), close(Stream).

您遇到了什么问题?txt流在prolog中运行良好,但对于特定的函数(递归调用很多),我在使用jpl库的Java中遇到了问题。我的应用程序不能在txt文件中编写(我只有在pl上使用java,direclty才能解决这个问题)。我需要一种用txt或其他格式编写的替代方法,使用JPL做后端工作,然后使用Java将结果写入文件是否更有意义?我认为-只需将完整路径传递给open/3即可。可能这只是由于进程的文件夹位置不可写而导致的权限问题