if you want to use the contents of the input variable, use it with $ in front of it.
$ read -p "name of file: " file
name of file: new_file
$ > "$file.txt"
> "$file.txt" redirects nothing to $file.txt - in other words creates it with 0 size
but touch "$file.txt" is ok too.
if you want to have some initial content there:
echo "content" > "$file.txt" # to overwrite
echo "content" >> "$file.txt" # to append
Besides generally avoid all-caps names, there are plenty all-caps environment variables that you can overwrite by accident if you accidentally pick the 'right' name.